大多數WordPress主題會顯示一篇文章的所有分類,包括父分類和子分類。然而,當你為文章添加了很多分類時,可能會讓你的网站看起來雜亂無章,讀者也會更難找到他們感興趣的內容。
為何在WordPress文章循環中僅顯示子分類?
建立WordPress博客時,可以使用分類和標籤來組織內容。為了幫助讀者更快地找到有趣的內容,您甚至可以創建子分類(或子目錄)。例如,假如您有一個旅遊博客,您可能會創建一個’目的地’分類,並在其下建立’歐洲’、’美洲’和’澳洲’等子分類。
預設情況下,多數WordPress主題會顯示一篇文章的所有父分類和子分類。但是如果您使用了很多分類,那麼您的博客頁面可能會看起來雜亂,而且這也會讓讀者更難找到他們感興趣的分類。因此,您可能希望隱藏文章的父分類,只顯示子分類。那麼,讓我們來看看如何在WordPress文章循環中僅顯示子分類。
編輯WordPress主題文件前的重點事項
這個指南適合那些對編碼和編輯WordPress主題文件有一定經驗的人。在進行教程之前,請做好以下準備工作:
- 首先,您需要連接到您的網站的FTP或打開您的網絡主機的文件管理器以訪問這些文件。
- 若您是初學者,可以參考我們的初學者指南,學習如何將Web上的代碼段粘貼到WordPress中。
- 我們建議創建備份或使用臨時網站來跟隨此方法,以防出現問題,您的實時網站不會受到影響。
- 此指南僅適用於傳統的WordPress主題。區塊主題的主題文件結構不同。
在WordPress文章循環中僅顯示子分類
首先,您需要找到主題文件中負責顯示分類的代碼。這可能需要一些時間,但您可以使用代碼編輯器的查找功能來加快速度。嘗試查找與分類相關的代碼,如has_category
或get_the_category_list
。如果找到這些函數,那麼您應該已經在正確的文件中了。
例如,如果您使用的是Twenty Twenty-One主題,那麼您應該查找的是位於’inc’文件夾中的template-tags文件。這裡是負責顯示分類的代碼:
if ( has_category() || has_tag() ) {
echo '';
$categories_list = get_the_category_list( wp_get_list_item_separator() );
if ( $categories_list ) {
printf(
/* translators: %%s: List of categories. */
'' . esc_html__( 'Categorized as %s', 'twentytwentyone' ) . ' ',
$categories_list // phpcs:ignore WordPress.Security.EscapeOutput
);
}
echo '';
}
如果找不到正確的模板文件,可以參考我們的WordPress模板層次結構速查表。找到了正確的代碼後,可以添加以下代碼段:
$categories = get_the_category();
$child_cat_ID = array(); // 存儲子分類ID的數組
foreach( $categories as $category ) {
if ( $category->parent > 0 ) { // 檢查分類是否有父分類,即其為子分類
$child_cat_ID[] = $category->term_id; // 存儲子分類ID
}
}
if ( !empty($child_cat_ID) ) {
$output = '' . esc_html__( 'Categorized as ', 'twentytwentyone' );
foreach($child_cat_ID as $cat_id) {
$cat_link = get_category_link($cat_id);
$cat_name = get_cat_name($cat_id);
$output .= '' . esc_html($cat_name) . '';
}
$output .= ''; // 在循環後關閉span標簽
echo $output; // 輸出完整內容
}
若您使用Twenty Twenty-One主題,將以上代碼添加至以下行之間:
if ( has_category() || has_tag() ) {
echo '';
// 在這些行之間替換代碼
}
echo '';
應看起來如下:
if ( has_category() || has_tag() ) {
echo '';
$categories = get_the_category();
$child_cat_ID = array(); // 存儲子分類ID的數組
foreach( $categories as $category ) {
if ( $category->parent > 0 ) { // 檢查分類是否有父分類,即其為子分類
$child_cat_ID[] = $category->term_id; // 存儲子分類ID
}
}
if ( !empty($child_cat_ID) ) {
$output = '' . esc_html__( 'Categorized as ', 'twentytwentyone' );
foreach($child_cat_ID as $cat_id) {
$cat_link = get_category_link($cat_id);
$cat_name = get_cat_name($cat_id);
$output .= '' . esc_html($cat_name) . '';
}
$output .= ''; // 在循環後關閉span標簽
echo $output; // 輸出完整內容
}
}
echo '';
完成後,保存變更並上傳文件至您的網絡主機服務器。現在,您需要訪問擁有一個或多個子分類的文章。您將看到父分類被隱藏,現在僅顯示子分類。
我們希望這篇文章能幫助您學會如何在WordPress文章中僅顯示子分類。接下來,您或許想查看我們的指南,了解如何通過WordPress博客賺錢,或了解我們精選的最佳SEO插件和工具。
如果您喜歡這篇文章,請訂閱我們的YouTube頻道,獲取更多WordPress視頻教程。您也可以在Twitter和Facebook上找到我們。