WordPress教程

WordPress获取指定标签下的文章总数

阿里云

我们在开发 WordPress 主题时需要获取到指定标签的文章总数该怎么实现呢?最近在给客户的 WordPress 主题做多条件筛选的时候,需要通过当前分类法下是否有文章,如果有则显示,如果没有就不显示,所以需要获取指定分类法(不是分类)下的文章总数。我们需要在其后面显示此标签下共有多少文章做个统计,这并不像统计分类下的文章总数那么简单,我们需要定义 function 函数再调用具体效果看下图。

下面分享 2 种获取到某个标签的文章总数的方法:

方法一:

根据标签 ID 获取文章总数:

也想出现在这里?联系我们
创客主机
  1. /*
  2. 根据标签ID获取文章总数
  3. */
  4. function get_tag_post_count_by_id( $tag_id ) {
  5.  $tag = get_term_by( 'id', $tag_id, 'post_tag' );
  6.  _make_cat_compat( $tag );
  7.  return $tag->count;
  8. }

调用方法:
在需要获取标签文章总数的地方添加以下代码:

  1. //根据标签ID获取文章总数
  2. <?php echo get_tag_post_count_by_id( $tag_id ) ?>

方法二:

根据标签别名获取文章总数:

  1. //根据标签别名获取文章总数
  2. function get_tag_post_count_by_slug( $tag_slug ) {
  3.  $tag = get_term_by( 'slug', $tag_slug, 'post_tag' );
  4.  _make_cat_compat( $tag );
  5.  return $tag->count;
  6. }

调用方法:
在需要获取标签文章总数的地方添加以下代码:

  1. //根据标签别名获取文章总数
  2. <?php echo get_tag_post_count_by_id( $tag_slug ) ?>

上面我们通过两个小函数就可以实现通过标签 ID 或者标签的别名来取得所指定标签下的文章数量了。

方法三

这个可以通过 get_terms()函数先获取出来该分类法下所有的分类信息,然后通过循环并求和返回值 count,得到该分类法下所有文章总数,具体实现方法是,把下面的代码放到您的 functions.php 中:

  1. //获取指定分类法下文章总数
  2. function mx_get_taxonomy_postcount($taxonomy) {
  3.     $terms = get_terms( array(
  4. 	    'taxonomy' => $taxonomy,
  5. 	    'hide_empty' => true,
  6. 	) );
  7. 	foreach ($terms as $term) {
  8. 	  // 子孙分类文章数累加
  9. 	  $count +=$term->count;
  10. 	}
  11.     return $count;
  12. }

然后在使用的地方使用可以直接显示该分类法下的文章总数,希望对您有所帮助。

WordPress 获取指定标签下的文章总数

已有 499 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!