您似乎已经在使用从该站点找到的自定义函数。你应该相信该代码的原始作者。
这个widget_comments_args
Wordpress3中引入了过滤器。4、该过滤器的记录不完整。此筛选器使用get_comments()
, 因此,您也可以使用相同的参数。这里是过滤器wp-includes/default-widgets.php#L847
847 /**
848 * Filter the arguments for the Recent Comments widget.
849 *
850 * @since 3.4.0
851 *
852 * @see get_comments()
853 *
854 * @param array $comment_args An array of arguments used to retrieve the recent comments.
855 */
856 $comments = get_comments( apply_filters( \'widget_comments_args\', array(
857 \'number\' => $number,
858 \'status\' => \'approve\',
859 \'post_status\' => \'publish\'
860 ) ) );
但在中存在一个问题
get_comments()
因为它只接受一种post类型,而不是数组或字符串,这实际上很有趣。这周围有很多。
网站成员之一@birgire 编写了一个名为wp-comments-from-mulitple-post-types 添加以下功能:get_comments
和WP_Comment_Query()
接受多种帖子类型。你可以下载他的插件here
安装后,现在可以像这样使用代码
function wpse80087_widget_comments_args( $args ) {
$args = array(
\'number\' => 5,
\'post_type\' => array(\'attachment\', \'post\',\' page\'),
);
return $args;
}
add_filter( \'widget_comments_args\', \'wpse80087_widget_comments_args\', 10, 1 );
EDIT
从OP的反馈来看
status
或
post_status
不起作用,只返回一种帖子类型。删除这些参数后,一切正常。请参阅上面更新的代码