亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Wordpress > 正文

WordPress中獲取指定分類及其子分類下的文章數目

2024-09-07 00:48:07
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了WordPress中獲取指定分類及其子分類下的文章數目的方法,文中總結了一些相關內置函數的使用,需要的朋友可以參考下

獲取特定分類文章數

有時候我們想獲取某個分類(category)下的文章數目,以便在博客的某個地方顯示出來。下面就提供幾個獲取特定分類的文章數的方法,你可以根據個人喜好選擇:

方法一:

將以下PHP代碼放置在主題目錄下的functions.php中:

  1. function wt_get_category_count($input = '') { 
  2.  global $wpdb
  3.  
  4.  if($input == '') { 
  5.   $category = get_the_category(); 
  6.   return $category[0]->category_count; 
  7.  } 
  8.  elseif(is_numeric($input)) { 
  9.   $SQL = "SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id AND $wpdb->term_taxonomy.term_id=$input"
  10.   return $wpdb->get_var($SQL); 
  11.  } 
  12.  else { 
  13.   $SQL = "SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id AND $wpdb->terms.slug='$input'"
  14.   return $wpdb->get_var($SQL); 
  15.  } 

然后在需要的地方調用該函數即可,該函數提供三種調用方式:

1、在主循環中調出該函數,且不提供參數,則返回第一個分類的文章數:

<?php echo wt_get_category_count(); ?>

2、提供的參數為數字,且該數字為分類的ID號,則返回對應ID的分類的文章數:

<?php echo wt_get_category_count(1); ?>

3、提供分類的別名,則返回對應縮略名(別名)的分類文章數:

<?php echo wt_get_category_count('hello-world'); ?>

該函數對于含有子分類的分類,文章數統計上會有稍許誤差。對于分類文章數為0的情況統計得也不是很好。

方法二:

其實我們可以直接使用WordPress的內置函數wp_list_categories(),只是傳遞函數的時候注意一下就行了:

<?php echo strip_tags(wp_list_categories('include=3&hide_empty=0&use_desc_for_title =0&echo=0&show_count=1&style=none&hierarchical =0&title_li=')); ?>

參數include的等號后面3改成你想要統計文章數的分類ID即可,最終輸出形式為 分類名稱(文章數)

方法三:

使用WordPress內置函數get_category_by_slug()

  1. <?php 
  2.  // 將以下category-name改成你的分類別名即可 
  3.  echo get_category_by_slug('category-name')->count;  
  4. ?> 

方法四:

使用WordPress內置函數get_category

  1. <?php 
  2.  // 將以下cat_ID改成你的分類ID即可 
  3.  echo get_category(cat_ID)->count;  
  4. ?> 

總結:

方法一、三、四可以獲取到單純的文章數量,就代碼量來說,方法一的代碼是最多的,方法三、四的代碼是最少的。就執行效率來說,方法一執行時間約為0.002秒,效率最高;方法四次之,執行時間約為0.004秒;方法三最差,執行時間約為0.008秒。執行效率之所以會有這么大的差異,原因在于方法一專注于一件事,就是查找文章數量,只執行一次數據庫查詢,而方法三和方法四的是WordPress內置函數,雖然只需一行代碼,但是他們并不是專門為查詢分類文章數而設計的,而是用于獲取分類的全部信息!另外,這三種方法都不會統計子分類下的文章數。

以上所有方法不存在孰優孰劣之分,執行時間所差的幾毫秒根本感覺不出來,你可以根據個人喜好來選擇相關的方法。

獲取指定分類及其子分類文章數

可能有些時候我們還要獲取指定分類及其所有子分類的文章數,下面我們來看一下相關實現辦法。

首先,定義實現函數,將以下php代碼復制到當前主題的functions.php中:

  1. function ludou_get_cat_postcount($id) { 
  2.  // 獲取當前分類信息 
  3.  $cat = get_category($id); 
  4.  
  5.  // 當前分類文章數 
  6.  $count = (int) $cat->count
  7.  
  8.  // 獲取當前分類所有子孫分類 
  9.  $tax_terms = get_terms('category'array('child_of' => $id)); 
  10.  
  11.  foreach ($tax_terms as $tax_term) { 
  12.   // 子孫分類文章數累加 
  13.   $count +=$tax_term->count
  14.  } 
  15.  return $count

使用示例

好了,函數定義完畢,在使用的時候只需給ludou_get_cat_postcount函數傳遞分類id參數即可,下面是使用示例:

  1. <?php 
  2.  echo 'ID為123的分類及其子孫分類的文章數量為:' . ludou_get_cat_postcount(123); 
  3. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合电影一区| 国产69久久精品成人| 色999日韩欧美国产| 久久久成人精品视频| 91久久精品一区| 欧美日韩高清在线观看| 久久综合久久88| 色99之美女主播在线视频| 亚洲一区二区三区毛片| 日韩视频免费在线| 欧美综合第一页| 国产成人高清激情视频在线观看| 91理论片午午论夜理片久久| 国产精品成人国产乱一区| 日韩在线中文视频| 在线日韩欧美视频| 久热精品视频在线观看| 一区二区三区回区在观看免费视频| 精品久久香蕉国产线看观看亚洲| 国产精品久久91| 高清亚洲成在人网站天堂| 国内精品美女av在线播放| 成人免费自拍视频| 欧美亚洲国产精品| 九九久久综合网站| 久久久久久久影院| 亚洲精品美女视频| 国内成人精品视频| 欧美精品videossex88| 亚洲第一男人天堂| 亚洲美女又黄又爽在线观看| 色综合视频一区中文字幕| 成人性生交xxxxx网站| 久久久亚洲国产| 最近2019免费中文字幕视频三| 久久久女人电视剧免费播放下载| 美女扒开尿口让男人操亚洲视频网站| 在线观看久久久久久| 亚洲国产精品va在看黑人| 欧美亚洲成人xxx| 国产精品视频网| 国产精品久久久av| 欧美精品久久久久a| 成人亚洲综合色就1024| 狠狠综合久久av一区二区小说| 国产成人高潮免费观看精品| 98视频在线噜噜噜国产| 欧美激情精品久久久久久蜜臀| 国产主播欧美精品| 97视频在线观看视频免费视频| 精品国产一区二区三区在线观看| 亚洲精品wwww| 日韩av在线影视| 欧美精品videofree1080p| 国产999精品久久久影片官网| 亚洲欧美国产精品va在线观看| 中文字幕免费精品一区| 亚洲性线免费观看视频成熟| 国产精品国产亚洲伊人久久| 欧美极品少妇xxxxⅹ裸体艺术| 日韩电影在线观看免费| 精品视频久久久久久久| 91久久精品国产91性色| 国产精品精品视频一区二区三区| 亚洲片国产一区一级在线观看| 欧洲精品毛片网站| 久久综合免费视频| 日本最新高清不卡中文字幕| 日韩中文字幕av| 欧美第一黄网免费网站| 97香蕉超级碰碰久久免费软件| 日韩激情av在线播放| 在线观看免费高清视频97| 久久久久久久一区二区| 欧美视频国产精品| 欧美成人全部免费| 亚洲欧美另类中文字幕| 久久深夜福利免费观看| 亚洲电影成人av99爱色| 国产精品欧美久久久| 欧美精品videos另类日本| 性欧美xxxx交| 亚洲国产精品成人av| 国产精品精品一区二区三区午夜版| 欧美成人午夜免费视在线看片| 国产成人拍精品视频午夜网站| 欧美性xxxx极品高清hd直播| 精品久久久香蕉免费精品视频| 97精品在线视频| 91成人福利在线| 国产精品吴梦梦| 亚洲人成啪啪网站| 亚洲国产精品专区久久| 欧美大胆a视频| 91久久精品国产91久久| 91免费看国产| 日韩国产欧美区| 深夜福利日韩在线看| 日韩亚洲欧美中文在线| 国产精品免费在线免费| 久久国产精品久久精品| 中文字幕一区二区三区电影| 欧美成人在线免费| 精品精品国产国产自在线| 欧美激情综合色综合啪啪五月| 欧美激情精品在线| 欧美一区二区色| 日韩欧美成人区| 精品久久久一区二区| 国产丝袜精品视频| 国产精品亚洲欧美导航| 日韩美女视频中文字幕| 成人网在线免费看| 亚洲直播在线一区| yellow中文字幕久久| 国外色69视频在线观看| 中文字幕欧美日韩| 精品久久久av| 中文字幕日韩专区| 亚洲精品456在线播放狼人| 欧美wwwwww| 亚洲色图偷窥自拍| 国产成人精品在线观看| 亚州精品天堂中文字幕| 中文字幕日韩精品有码视频| 亚洲视频第一页| 国产精品亚洲网站| 国产精品永久免费视频| 亚洲欧美精品一区| 亚洲精品自拍偷拍| 亚洲人在线视频| 欧美老肥婆性猛交视频| 国产精品夜间视频香蕉| 福利一区视频在线观看| 亚洲人成在线电影| 亚洲xxxx妇黄裸体| 91久热免费在线视频| 国产在线播放不卡| 成人激情在线观看| 国产高清视频一区三区| 国产欧美 在线欧美| 亚洲成人a**站| 欧美极品少妇xxxxⅹ喷水| 久久电影一区二区| 精品久久香蕉国产线看观看亚洲| 国产精品视频999| 久久高清视频免费| 久久成人在线视频| 国产精品高潮呻吟久久av野狼| 日产精品久久久一区二区福利| 国产日韩在线亚洲字幕中文| 亚洲无限乱码一二三四麻| 亚洲最新av在线网站| www国产精品com| 亚洲福利视频网站| 欧美黑人一级爽快片淫片高清| 国产精品一区二区久久国产| 欧美最猛性xxxxx亚洲精品| 亚洲天堂av女优| 国产精品日韩在线| 日韩av电影院| 麻豆一区二区在线观看| 国产日韩欧美在线播放| 国产成人高潮免费观看精品|