如何在父分類法的存檔頁面上顯示子分類法


過去,我們向您展示瞭如何在WordPress的類別頁面上顯示子類別。 最近,在使用自定義分類法時,我們發現有必要在父分類法存檔頁面上顯示子分類法。 經過一些研究,我們沒有找到涵蓋此問題的單個教程。 在本文中,我們將向您展示如何在分類法頁面上顯示子分類法列表。

打開您的自定義分類模板文件,如下所示: 分類-{taxonomyname} .php 並將以下代碼粘貼到您想要顯示列表的位置:

parent == 0) {  
wp_list_categories('taxonomy=YOUR-TAXONOMY-NAME&depth=1&show_count=0
&title_li=&child_of=" . $term->term_id);
} else {
wp_list_categories("taxonomy=YOUR-TAXONOMY-NAME&show_count=0
&title_li=&child_of=" . $term->parent);	
}
?>

別忘了用您的分類名稱替換YOUR-TAXONOMY-NAME。

最後結果:

分類法列表

說明:

我們正在使用 get_term_by 通過子查詢當前分類法信息。 例如,如果您的分類法稱為主題,而您在/ topics / nutrition /頁面上,則$ term變量將提取與您所在的特定術語頁面相關的所有數據。

在我們正在研究的項目中,分類法就像類別一樣是分層的。 因此,我們決定使用$ term-> parent變量運行條件。 此變量輸出父分類法的ID。 因此,如果您使用的是分類法營養(即父分類法),則$ term-> parent將回顯0。這就是為什麼我們說如果$ term-> parent == 0則使用wp_list_categories()函數顯示自定義項中的術語屬於您所在頁面的術語child_的分類法。 我們通過使用$ term-> term_id作為child_of變量來完成此操作。

現在,如果進入子分類頁面,則該頁面將為空白,因為$ term-> parent不再等於0。在子分類頁面上,$ term-> parent輸出父類別的ID。 因此我們使用相同的wp_list_categories()函數運行else語句,除了將$ term-> term_id更改為$ term-> parent。

你有它。 我們希望這對尋求解決方案的所有人有所幫助。