製作 WordPress 主題時,想要獲取所有分類相關資訊,可以透過 get_categories() 函式,該函式可以返回與查詢引數相匹配的類別
物件陣列,該函式的變數與 wp_list_categories() 函式基本一致,且變數可被作為陣列傳遞,也可在查詢句法中被傳遞。

函式用法:

<?php $categories = get_categories( $args ); ?>

$args 引數及預設值:

<?php $args = array( 'type'%20<span%20style="color: #339933;">=> 'post', 'child_of'%20<span%20style="color: #339933;">=> 0, 'parent'%20<span%20style="color: #339933;">=> '', 'orderby'%20<span%20style="color: #339933;">=> 'name', 'order'%20<span%20style="color: #339933;">=> 'ASC', 'hide_empty'%20<span%20style="color: #339933;">=> 1, 'hierarchical'%20<span%20style="color: #339933;">=> 1, 'exclude'%20<span%20style="color: #339933;">=> '', 'include'%20<span%20style="color: #339933;">=> '', 'number'%20<span%20style="color: #339933;">=> '', 'taxonomy'%20<span%20style="color: #339933;">=> 'category', 'pad_counts'%20<span%20style="color: #339933;">=> false ); ?>

引數說明:

type

(字元)post 和 link 其中 link 在新版 3.0 以後已被棄用。

child_of

(整數) 僅顯示標註了編號的分類的子類。該引數無預設值。使用該引數時應將 hide_empty 引數設為 false

parent

(整數) 只顯示某個父級分類以及下面的子分類 (注:子分類只顯示一個層級) 。

orderby

(字元) 將分類按字母順序或獨有分類編號進行排序。預設為按分類 編號排序包括 ID(預設) 和 Name

order

(字元) 為類別排序 (升序或降序) 。預設升序。可能的值包括 asc(預設) 和 desc

hide_empty

(布林值) 觸發顯示沒有文章的分類。預設值為 true(隱藏空類別) 。有效的值包括:1(true) 和 0(false)

hierarchical

(布林值)

將子類作為內部列表專案 (父列表項下) 的層級關係。預設為 true(顯示父列表項下的子類) 。有效值包括 1 (true) 和 0(false)

exclude

(字元) 除去分類列表中一個或多個分類,多個可以用逗號分開,用分類 ID 號表示

include

(字元) 只包含指定分類 ID 編號的分類。多個可以用逗號分開,用分類 ID 號表示

number

(字元) 將要返回的類別數量

pad_counts

(布林值) 透過子類中的項來計算連結或文章。有效值包括 1(true) 和 0(false),0 為預設

taxonomy

(字元) 返回一個分類法,這個是 WordPress3.0 版本後新新增的一個引數。返回的值包括 category(預設) 和 taxonomy(一些新定義的分類名稱)

示例:顯示分類列表和分類描述以及包含的文章數目

<?php $args=array( 'orderby'%20<span%20style="color: #339933;">=> 'name', 'order'%20<span%20style="color: #339933;">=> 'ASC' ); $categories=get_categories($args); foreach($categories as $category) { echo '<p>Category: <a href="'%20<span%20style="color: #339933;">. get_category_link( $category->term_id ) . '" title="'%20<span%20style="color: #339933;">. sprintf( __( "View all posts in %s" ), $category->name ) . '" '%20<span%20style="color: #339933;">. '>'%20<span%20style="color: #339933;">. $category->name.'</a> </p> '; echo '<p> Description:'. $category->description . '</p>'; echo '<p> Post Count: '. $category->count . '</p>'; } ?>