很多網(wǎng)站經(jīng)常會(huì)有顯示當(dāng)前頁(yè)面子分類(lèi)的需求,對(duì)WordPress來(lái)說(shuō),實(shí)現(xiàn)起來(lái)非常的簡(jiǎn)單,只需要增加一個(gè)功能函數(shù)就可以搞定。
先在function.php里面添加下面的代碼
function get_category_root_id($cat)
{
$this_category = get_category($cat); // 獲取當(dāng)前分類(lèi)
while($this_category->category_parent) // 若當(dāng)前分類(lèi)有上級(jí)分類(lèi)時(shí),循環(huán)獲取
{
$this_category = get_category($this_category->category_parent); // 將當(dāng)前分類(lèi)設(shè)為上級(jí)分類(lèi)
}
return $this_category->term_id; // 返回根分類(lèi)的id號(hào)
}
然后在需要顯示二級(jí)分類(lèi)的地方(一般是側(cè)邊欄),調(diào)用這個(gè)功能就可以了。
if(is_category()) {
if(get_term_children(get_category_root_id(the_category_ID(false))) !== "" ) {
$root_term_id = get_category_root_id(the_category_ID(false));
echo wp_list_categories("child_of=$root_term_id&depth=0&hide_empty=0&title_li=&orderby=id&order=ASC");
echo '';
}
}
調(diào)用后,顯示出來(lái)的就是如下圖的一個(gè)子分類(lèi)列表,至于樣式,那是CSS的事情,跟PHP無(wú)關(guān)。

WordPress后臺(tái)不支持分類(lèi)的排序,這樣顯示子分類(lèi)的時(shí)候順序有可能是亂的,這個(gè)功能就需要一個(gè)分類(lèi)順序調(diào)整的插件了,有時(shí)間再單獨(dú)寫(xiě)文介紹。



解決了我的大問(wèn)題,不知道能不能支持自定義文章類(lèi)型。