wp_list_categories 函數(shù)是 WordPress 中用來(lái)羅列系統(tǒng)中分類的函數(shù),該函數(shù)擁有許多控制輸出的參數(shù)。
語(yǔ)法結(jié)構(gòu)
<?php
wp_list_categories( $args );
$args = array(
'show_option_all' => '', //不列出分類鏈接
'orderby' => 'name', //按照分類名排序
'order' => 'ASC', //升序排列
'show_last_update' => 0, //不顯示分類中日志的最新時(shí)間戳
'style' => 'list', //列表顯示分類
'show_count' => 0, //不顯示分類日志數(shù)量
'hide_empty' => 1, //不顯示沒(méi)有日志的分類
'use_desc_for_title' => 1, //顯示分類描述
'child_of' => 0, //不限制子分類
'feed' => '', //不顯示feed
'feed_image' => '', //不顯示feed圖片
'exclude' => '', //不顯示該分類
'hierarchical' => true, //分層次顯示父/子分類
'title_li' => __('Categories'), //用“Categories”為當(dāng)前分類列表的標(biāo)題
'echo' => 1, //顯示(echos) 分類
'depth' => 0 //不限制列表深度
'walker' => null//用于顯示的類(很復(fù)雜的概念
);
?>
參數(shù)
show_option_all(字符串)非空值會(huì)導(dǎo)致如果樣式設(shè)置為列表顯示所有類別的鏈接。默認(rèn)值是不顯示鏈接到所有分類。
orderby (字符串)以分類名稱、分類ID或文章數(shù)量等為排列依據(jù)。有效值:
- ID
- name – 默認(rèn)
- slug
- count
- term_group
order (字符串)分類的排序順序(升序或降序)。缺省為升序。有效值:
- ASC – 升序(默認(rèn))
- DESC – 降序
style(字符串)分類列表顯示的樣式。將分類列表的方式顯示(使用<br >標(biāo)簽分隔列表項(xiàng))。默認(rèn)設(shè)置為列表(無(wú)序列表)。有效值:
- list – 默認(rèn)
- none
show_count(布爾)顯示文章數(shù)量。默認(rèn)情況下不顯示文章數(shù)量。有效值:
- 1 (True)
- 0 (False) – 默認(rèn)
hide_empty(布爾)隱藏沒(méi)有文章的分類。 默認(rèn)情況下隱藏沒(méi)有文章的分類。有效值:
- 1 (True) – 默認(rèn)
- 0 (False)
use_desc_for_title(布爾)是否將分類描述作為分類鏈接中的 title 屬性,默認(rèn)為 true。有效值:
- 1 (True) – 默認(rèn)
- 0 (False)
child_of(整數(shù))只顯示此參數(shù)確定的分類的子分類。此參數(shù)沒(méi)有默認(rèn)值。
feed (字符串)顯示每個(gè)分類的 RSS-2 Feed鏈接到設(shè)置的feed文字。默認(rèn)不顯示feed文字和鏈接。
feed_type(字符串)
feed_image(字符串)設(shè)置一個(gè)圖片到分類的 RSS-2 Feed鏈接。這個(gè)參數(shù)會(huì)覆蓋上面的 feed 參數(shù)。此參數(shù)沒(méi)有默認(rèn)值。
exclude (字符串)排除一個(gè)或多個(gè)分類。使用逗號(hào)分隔每個(gè)分類的ID。參數(shù) include 必須為空。
exclude_tree(字符串)排除分類樹(shù)。使用逗號(hào)分隔每個(gè)分類的ID。參數(shù) include 必須為空。如果 hierarchical 參數(shù) 為 true ,請(qǐng)使用 exclude 參數(shù)替代 exclude_tree 。
include (字符串)只顯示特定的分類,使用逗號(hào)分隔每個(gè)分類的ID。
hierarchical(布爾)以層級(jí)來(lái)顯示分類的子分類。默認(rèn)為 true(在分類的下面顯示它們的子分類)。有效值:
- 1 (True) – 默認(rèn)
- 0 (False)
title_li(字符串)設(shè)置列表的標(biāo)題。默認(rèn)為“Categories”。如果存在這個(gè)參數(shù),但是值為空,將無(wú)法顯示列表。
number(整數(shù))設(shè)置顯示的分類數(shù)量。定義SQL的限制值。默認(rèn)為不限制。
echo(布爾) 顯示結(jié)果或保存在一個(gè)變量里。默認(rèn)為 True 。有效值:
- 1 (True) – 默認(rèn)
- 0 (False)
depth (整數(shù))顯示分類的深度(即顯示多少層的子分類)。默認(rèn)值為 0(顯示所有分類和子分類)。有效值:
- 0 – 所有分類和子分類(默認(rèn))
- -1 – 所有類別顯示在平面(不縮進(jìn))的形式(覆蓋hierarchical)。
- 1 – 只顯示頂級(jí)分類
- n – 根據(jù)n的具體數(shù)字來(lái)顯示對(duì)應(yīng)等級(jí)的分類。
current_category(整數(shù))后跟分類ID號(hào),對(duì)此ID分類加入名為current-cat的CSS控制,用戶自定義current-cat樣式后,可用于突出顯示。
pad_counts(布爾)計(jì)算包括子分類的鏈接或文章數(shù)。如果 show_counts 和 hierarchical 為 true ,這個(gè)參數(shù)就自動(dòng)設(shè)置為 true 。有效值:
- 1 (true)
- 0 (false) – 默認(rèn)
taxonomy (字符串)要返回的分類法。該參數(shù)是在 3.0 中添加的。有效值:
- category – 默認(rèn)
- taxonomy – 或任何其他已注冊(cè)的分類法
walker (對(duì)象)生成列表 Walker 類。有效值:object – an instance of a class that extends either Walker_Category or Walker
實(shí)例
包含或排除分類
按字母順序排序分類,只包括類別ID為 16,3,9和5 的分類,你可以使用下面的代碼:
<ul>
<?php wp_list_categories('orderby=name&include=3,5,9,16'); ?>
</ul>
根據(jù)名稱排列,顯示文章數(shù),并且排除ID為 10 的分類:
<ul>
<?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>
</ul>
顯示或隱藏列表的標(biāo)題
title_li 參數(shù)可以設(shè)置或隱藏 wp_list_categories 函數(shù)生成的列表的標(biāo)題。默認(rèn)標(biāo)題為“分類(Categories)” 。如果設(shè)置為空值,就不會(huì)顯示標(biāo)題。排除ID為 4 和 7 的分類,同時(shí)隱藏標(biāo)題:
<ul>
<?php wp_list_categories('exclude=4,7&title_li='); ?>
</ul>
顯示或隱藏列表的標(biāo)題
title_li 參數(shù)可以設(shè)置或隱藏 wp_list_categories 函數(shù)生成的列表 的標(biāo)題。默認(rèn)標(biāo)題為“分類(Categories)” 。如果設(shè)置為空值,就不會(huì)顯示標(biāo)題。排除ID為 4 和 7 的分類,同時(shí)隱藏標(biāo)題:
<ul>
<?php wp_list_categories('exclude=4,7&title_li='); ?>
</ul>
只顯示ID為 5、9 和23 的分類,并且列表的標(biāo)題改為 Poetry ,而且使用 <h2> 標(biāo)簽包含:
<ul>
<?php wp_list_categories('include=5,9,23&title_li=<h2>' . __('Poetry') . '</h2>' ); ?>
</ul>
只顯示指定分類的子分類
顯示ID為 8 的分類的子分類,根據(jù)ID排序,顯示文章數(shù),并且將分類描述作為連接的 title屬性。注意:如果父分類沒(méi)有文章,將不顯示父分類。
<ul>
<?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?>
</ul>
移除分類計(jì)數(shù)的括號(hào)
當(dāng) show_count=1 ,每個(gè)分類的后面都將顯示文章數(shù),同時(shí)使用括號(hào)包含。如果你要移除括號(hào),可以使用下面的代碼
<?php
$variable = wp_list_categories('echo=0&show_count=1&title_li=<h2>Categories</h2>');
$variable = preg_replace('~((d+))(?=s*+<)~', '$1', $variable);
echo $variable;
?>
顯示分類和 RSS Feed 連接
根據(jù)分類名稱進(jìn)行排序,顯示文章數(shù)量,并且顯示每個(gè)分類的 RSS 訂閱鏈接:
<ul>
<?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?>
</ul>
使用Feed 圖標(biāo)替換文本,可以使用下面的代碼:
<ul>
<?php wp_list_categories('orderby=name&show_count=1&feed_image=/images/rss.gif'); ?>
</ul>