方法一:將以下PHP代碼放置在主題目錄下的functions.php中.
- function wt_get_category_count($input = '') {
 - global $wpdb;
 - if($input == '') {
 - $category = get_the_category();
 - return $category[0]->category_count;
 - }
 - elseif(is_numeric($input)) {
 - $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";
 - return $wpdb->get_var($SQL);
 - }
 - else {
 - $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'";
 - return $wpdb->get_var($SQL);
 - }
 - }
 
然后在需要的地方調用該函數即可,該函數提供三種調用方式:
在主循環中調出該函數,且不提供參數,則返回第一個分類的文章數:
<?php echo wt_get_category_count(); ?>
提供的參數為數字,且該數字為分類的ID號,則返回對應ID的分類的文章數:
提供分類的別名,則返回對應縮略名(別名)的分類文章數:
<?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即可,最終輸出形式為 分類名稱(文章數)
方法三:get_category_by_slug() 根據分類別名獲取分類數據
用法:<?php get_category_by_slug($slug) ?>
參數:$slug 分類別名 類型為字符串
返回的值:數組
示例:
- <?php
 - $cat = get_category_by_slug($slug);
 - echo $cat->term_id; //取得分類id
 - echo $cat->count; //取得分類文章數統計
 - echo $cat->description; //獲取分類的描述
 - echo $cat->name; //獲得分類的名稱
 - echo $cat->slug; //獲取分類的別名
 - echo $cat->parent; //獲得對當前分類的父級分類的引用
 - ?>
 
此方法獲取的文章數僅僅是你所指定的分類的,不包括它的子分類。
方法四:get_category() 根據分類編號或分類對象獲取分類數據
用法:<?php get_category( $category,$output,$filter) ?>
參數:
$category 分類ID號或分類行對象,類型為整數或者對象,必需
$output 常量對象,ARRAY_A,或ARRAY_N,默認值為object,類型為字符型,可選
$filter 默認值為raw,否則將不使用WordPress定義的過濾器。類型為字符型,可選
示例:<?php echo get_category($category_ID)->count; ?>
新聞熱點
疑難解答
圖片精選