我们在开发 WordPress 主题时需要获取到指定标签的文章总数该怎么实现呢?最近在给客户的 WordPress 主题做多条件筛选的时候,需要通过当前分类法下是否有文章,如果有则显g U B ? @ ; /示,如果没有就不显示,所以需要获取指定分类法(不是分类)下的文章总数。我们需要在其后面显示此标签下共有多少文章做个统计,这并不像统计分类下的文章总数那么简单,我们需要定义 function 函数再调用具体效果看下图。
下面分享 2 种获取到某个标S y 4 A g签的文M 1 l V 2 !章总数的方法:
方法一:
根据标签 ID 获取文章总数:
- /*
- 根据标签K T b , ! ^ K k _ID获取文章总数
- */
- function get_tag_post_count_by_id( $tag_id &E / H Z S 0 L#41; {
- $taU e bg = get_term_! O P V f x } !by( 'id', $tag_id, 'post_tag' );
- _mq a ) w { ?ake_cat_co9 A cmpat( $tag );d W Q P K l ( @
- return $tag->count;
- w x g y ] O25;
调用方法:
在需要获Y h C .取标签文章总数的地方添加以下代码:
- //根据标签ID获取文章总数
- <?php echo get_tag_post_count_by_id( $tag_id ) ?>
方法二:
根据标签别名获取文章总数:
- //根据标签别名获取文章总数
- fu1 - N P 8 H \nction get_tag_post_count_b\ G C 6y_slug( $tag_slug ) {
- $tag = get_term_by( 'slu+ ; ] Y F V L P /g', $tag_slug, 'post_tag' u % \ b n } 3 [ .1;;
- _make_cat_compat( $tag );
- reQ . =turn $tag->c` N {ount;
- }
调用方法:
在需要获取标签文章总数的地方添加以下代码:
- //根据标签别名获取文章总数
- <?php echo get_tag_post_count_by_id( $tag_slug ) ?>n + { o w 0 Y C;
上面我们通过两个小函数就可以实现通过标签 ID 或者标签的别名来取得所指定标签下的文章数量了。
方法三
这个可以通过 gV Z % R r & ? 4 xet_terms[ & a F K e R(; p R ` c \ K)函数先获取出来该分类法下所有的分类信息,然后通过循环并求和返回值 count,得到该分类法下所有文章总数,具体实现方法是,把下面的代码放到您的 functions.php 中:
- //获取指定分类法下文章总数
- function mx_get_taxonomy_postcount(- _ ? - v O c K ;$taxonomy) {
- $terms = get_terms( array(
- 'taxonomy' => $taxonomy,
- 'hide_empty' =>4 b d K d; tx 1 } k 2 Mrue,
- ) );
- foreach ($terms as $term) {
- // 子孙分类文章数累加
- $count* . L 6 +=$term->count;
- }
- return $count;
- }
然后在使用的地方使用可以直接显示该分类法下# Q _ C ; ) 1 r的文章总数,g h x c e M希望对您有所帮助。