如何在WordPress文章循環中僅顯示子分類

WPressize Me

10/22/2023

大多數WordPress主題會顯示一篇文章的所有分類,包括父分類和子分類。然而,當你為文章添加了很多分類時,可能會讓你的网站看起來雜亂無章,讀者也會更難找到他們感興趣的內容。

為何在WordPress文章循環中僅顯示子分類?

建立WordPress博客時,可以使用分類和標籤來組織內容。為了幫助讀者更快地找到有趣的內容,您甚至可以創建子分類(或子目錄)。例如,假如您有一個旅遊博客,您可能會創建一個’目的地’分類,並在其下建立’歐洲’、’美洲’和’澳洲’等子分類。

預設情況下,多數WordPress主題會顯示一篇文章的所有父分類和子分類。但是如果您使用了很多分類,那麼您的博客頁面可能會看起來雜亂,而且這也會讓讀者更難找到他們感興趣的分類。因此,您可能希望隱藏文章的父分類,只顯示子分類。那麼,讓我們來看看如何在WordPress文章循環中僅顯示子分類。

編輯WordPress主題文件前的重點事項

這個指南適合那些對編碼和編輯WordPress主題文件有一定經驗的人。在進行教程之前,請做好以下準備工作:

  • 首先,您需要連接到您的網站的FTP或打開您的網絡主機的文件管理器以訪問這些文件。
  • 若您是初學者,可以參考我們的初學者指南,學習如何將Web上的代碼段粘貼到WordPress中。
  • 我們建議創建備份或使用臨時網站來跟隨此方法,以防出現問題,您的實時網站不會受到影響。
  • 此指南僅適用於傳統的WordPress主題。區塊主題的主題文件結構不同。

在WordPress文章循環中僅顯示子分類

首先,您需要找到主題文件中負責顯示分類的代碼。這可能需要一些時間,但您可以使用代碼編輯器的查找功能來加快速度。嘗試查找與分類相關的代碼,如has_categoryget_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上找到我們。



Related Posts

  • 2024-07-20
  • WordPress 主题

您是否想在 WordPress 中為不同頁面使用多個佈景主題?可以自訂網頁的外觀和布局,為文章、頁面和部分區域建立模板。但是如果您想為網站的某些部分或頁面使用完全不同的佈景主題呢?本文將指導您如何在 WordPress 中為頁面使用多個佈景主題。

閱讀更多
  • 2024-07-19
  • WordPress 主题

您是否想在 WordPress 網站上添加回頂效果?這種效果在頁面較長時非常有用,可以讓用戶輕鬆返回頁面頂部,提升網站的用戶體驗。本文將教您如何使用 jQuery 和插件在 WordPress 中添加平滑回頂效果。

閱讀更多
  • 2024-07-13
  • WordPress 主题

您是否想在 WordPress 中創建一個自定義頁面?自定義頁面允許您使用與網站其餘部分不同的佈局。許多 WordPress 網站使用自定義頁面佈局來建立銷售頁面、登陸頁面、網路研討會頁面等。在這篇文章中,我們將向您展示如何輕鬆地在 WordPress 中創建自定義頁面。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>