方法一:將以下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; ?>
|
新聞熱點
疑難解答
圖片精選