我怎样才能得到不管用户过滤什么都不会改变的静态帖子总数?
您可能正在寻找wp_count_posts()
: Codex: WP COUNT POSTS
获取所有已发布帖子数的示例:
function get_all_them_posts(){
$count_posts = wp_count_posts();
$published_posts = $count_posts->publish;
return $published_posts;
}
在模板中:
<?php echo get_all_them_posts(); ?>
For Custom Post Type:
功能。php:
function get_all_them_cpt_posts(){
$post_type = \'your_post_type_slug_here\';
$count_posts = wp_count_posts( $post_type );
$published_posts = $count_posts->publish;
return $published_posts;
}
在模板中:
<?php echo get_all_them_cpt_posts(); ?>
如所述
Sam, 并且在
this older WPSE answer,
$found_posts
是指查询所包含的内容。
$post_count
是指正在显示的内容(通常是在posts\\u per\\u page参数中设置的数字)。我想
wp_count_posts()
这就是你想要的。
对于更新的代码(上面的CPT版本),好的,最好将第一个代码块添加到函数中。主题(或子主题,如果您正在使用的话)的php。这是:
function get_all_them_posts(){
$count_posts = wp_count_posts();
$published_posts = $count_posts->publish;
return $published_posts;
}
然后,如果希望获得模板中的帖子总数,请替换:
<?php echo $query->found_posts; ?>
使用:
<?php echo get_all_them_posts(); ?>
该行将调用添加到函数中的函数。php通过这样做,您可以在其他模板文件中使用它,而无需每次都重写该函数。我希望这有帮助!