我正在更改“搜索和过滤器Wordpress插件”的模板文件,以显示其他帖子数。
该插件使用标准的Wordpress循环按某些参数查询帖子。帖子数可以使用found_posts
进行计数。
现在,我想显示第二个帖子计数,其中要考虑其他参数。 post_status
。我必须坚持常规的WP循环,以使来自插件的查询保持完整。
在注释行中这样的内容:
if ( $query->have_posts() ) {
echo $query->found_posts 'posts found';
// echo $query->found_posts(array('post_status=>'private') 'private posts found';
while ($query->have_posts()) {
$query->the_post();
the_title();
}
}
该代码可以正常工作,但注释部分显然不起作用。
是否可以在标准循环中添加另一个带有附加参数的post_count
?
谢谢
乔治
答案 0 :(得分:0)
您无法添加这样的echo $query->found_posts(array('post_status=>'private')
,但在循环之前,只需使用以下代码按status
来统计帖子。在您的情况下,您希望按不公开状态来统计帖子,因此请添加以下代码。
$args = array('post_type' => 'your_post_type_name','post_status' => array('publish', 'pending', 'draft', 'future', 'private', 'inherit', 'trash')
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
echo $query->found_posts 'posts found';
// echo $query->found_posts(array('post_status=>'private') 'private posts found';
$count_posts = wp_count_posts('post');
$private_posts = $count_posts->private;
echo $private_posts. 'private posts found';
while ($query->have_posts()) {
$query->the_post();
the_title();
}
}
类似地,如果您想显示发布或草稿帖子的数量,则可以在下面的代码中添加。
$publish_posts = $count_posts->publish;
$draft_posts = $count_posts->draft;
您可以通过状态很好来计数其他任何帖子。