WordPress 分類法:終極指南

已發表: 2021-01-20

WordPress 分類法是許多 WordPress 開發人員從未使用過的東西。 有些人甚至從未聽說過 WordPress 分類法。

近十年前,當 WordPress 3.0 引入分層分類法時,分類法成為 WordPress 開發人員工具包中更加有用的工具。 在高層次上,我們可以將分類法視為將事物組合在一起的方式。 在 WordPress 平台內,分類法是一種對帖子、自定義帖子類型或鏈接等內容進行分組的機制。

在本 WordPress 分類法指南中,我們將了解您需要了解的有關 WordPress 分類法的所有信息,以及如何使用它們來改進您的網站結構和用戶體驗。 讓我們潛入。

在本指南中

    什麼是 WordPress 分類法?

    如果您查看官方 WordPress Codex,您會看到 WordPress 分類法被定義為“所有內容的分組機制”。 簡而言之,WordPress 分類法允許您根據帖子共享的特徵對帖子進行分組。

    例如,假設您正在運行一個關於過去 40 年流行音樂的博客。 您很有可能希望將您的博客文章分為特定類型。 分類法允許您進行此類分組。 分類法通過在用戶瀏覽您的博客時提供更輕鬆、更直接的體驗來幫助改善 UX(用戶體驗)。

    WordPress 分類法

    4 種類型的 WordPress 分類法

    WordPress 中用於對帖子進行分組的兩個最常用的分類法是標籤和類別。 這兩者都在同一分類法的總體範圍內。

    總的來說,WordPress 有四種分類法,您可以在對博客文章進行分組時使用這些分類法。

    在這裡,我們將一一看看。

    1. 分類

    類別分類法允許您將帖子分為不同的層次類別。 您可以通過兩種不同的方式使用類別對帖子進行分組。

    第一個選項是登錄您的 WordPress 儀表板並導航到帖子 > 類別。 在這裡,您將能夠定義類別並添加定義子類別和 slug 類別。

    使用類別對帖子進行分組的第二種方法是在您的 WordPress 儀表板中導航到帖子 > 添加新內容。 當您查看可視化編輯器旁邊的面板時,您會看到可以直接從該位置添加類別。

    2. 標籤

    標籤類似於類別,因為它允許您對帖子進行分組。 這種區別在於標籤沒有任何層次結構。

    標籤是將相關帖子放在一起的簡單參數。 他們專注於博客內容的小細節,而不是整體主題。

    讓我們暫時回到您的理論音樂博客。 假設您想為音樂博客的內容製作流派和子流派。 做到這一點的最佳方法是對“90 年代的嘻哈明星”流派使用類別分類法。 這種分組分類法將支持層次結構。

    然後,要將您的內容進一步細分為子類型,您可以為特定藝術家的內容添加標籤,例如“Snoop Dogg”和“Ice Cube”。

    例如,使用標籤對內容進行分組的最佳部分是分組將包括您的任何包含“Snoop Dogg”標籤的內容。

    換句話說,即使某個特定的 Snoop Dog 內容與“90 年代的嘻哈明星”屬於不同的類別,並且恰好屬於“永不消失的藝術家”類別,但所有 Snoop Dog 內容仍然與標籤。

    要創建標籤,請遵循與創建類別類似的路徑。 可以通過導航到“帖子”>“標籤”或直接在可視化編輯器旁邊的面板中來完成。

    您還可以在這些區域中定義 slug 和描述。

    請務必注意,定義類別對於您的所有博客文章都是強制性的。 然而,標籤是完全可選的。

    所有帖子都需要至少有一個類別才能發布。 默認情況下,如果您沒有定義特定類別,WordPress 會自動將帖子歸入“未分類”類別。

    請記住,“未分類”類別仍然是一個類別。

    其餘兩個分類對您的站點用戶不可見。 儘管它們不經常使用,但它們絕對值得一提並考慮如何在您的 WordPress 網站上使用它們。

    3. 鏈接類別

    這是一個 WordPress 分類法,可讓您對鏈接進行分類。

    如果您是那種在博客文章中鏈接到許多不同來源(內部和外部)的博主,您會發現鏈接類別分類法非常有用。

    4. Post_Format 分類法

    post_format 分類法允許您根據類型(視頻、音頻、標準等)對帖子進行分類。

    您將在 WordPress 可視化編輯器旁邊直接看到此面板。

    WordPress 分類模板

    當網站訪問者單擊指向標籤、類別或自定義分類法的超鏈接時,WordPress 將顯示按時間倒序排列的帖子頁面,並按該特定分類法進行過濾。

    默認情況下,顯示頁面是使用您的 index.php 模板文件生成的。 這意味著您可以創建一個可選的模板文件,該文件將優化和覆蓋 index.php 模板文件。

    在這裡,我們將解釋如何創建和使用這些分類模板。

    分類模板層次結構

    模板層次結構是 WordPress 用來確定它顯示帖子的順序的。

    category.php、taxonomy.php 和 tag.php 模板允許通過分類法過濾的帖子與未過濾的帖子或使用不同分類法過濾的帖子不同。

    請記住,“帖子”是指任何帖子類型,例如頁面、自定義帖子類型或帖子。 基本上,它們是允許您定位特定 WordPress 分類法或分類法術語的文件。

    這些分類模板文件的示例是:

    • 分類法-{taxonomy}-{term}.php
    • 分類法-{taxonomy}.php
    • 標籤-{slug}.php
    • 標籤-{id}.php
    • 類別-{slug}.php
    • 類別-{ID}.php

    這可以特別允許您在頁面上以與在其他類別中過濾的帖子不同的外觀設置名為“新聞”的動物分類法中的所有帖子的格式。

    archive.php 分類模板將提供最通用的控制形式。 它為您的所有檔案提供了特定的佈局。 該頁面顯示您的帖子列表。

    類別層次結構

    當涉及到類別時,WordPress 會查看 category-{slug}.php 文件。 如果沒有,WordPress 會嘗試為下一個連續層次級別查找文件,即 category-{ID}.php,依此類推。

    當 WordPress 沒有找到 archive.php 模板文件或其他專用模板時,它會利用 index.php 自動恢復其默認行為。

    類別層次結構如下所示:

    1. category-{slug}.php:例如,如果一個類別的slug 被命名為“pepperoni”,WordPress 將尋找一個名為category-pepperoni.php 的文件。

    2. category-{ID}.php:例如,如果您的類別ID 為“8”,WordPress 將查找名為category-9.php 的文件。

    3. 類別.php

    4.存檔.php

    5. index.php

    標籤層次結構

    使用標籤,WordPress 將查找特定的標籤-{slug}.php 文件。 如果 WordPress 找不到它,它會在下一個層次級別中查找所需的文件,即 tag-{ID}.php 等。

    當 WordPress 沒有找到任何 archive.php 模板文件或專用模板時,它會使用 index.php 恢復其默認行為。

    標籤層次結構如下所示:

    1. tag-{slug}.php:例如,如果標籤的 slug 被稱為“drpepper”,WordPress 會查找名為 tag.drpepper.php 的文件。

    2. tag-{id}.php:例如,如果您的標籤 ID 是“3”,WordPress 會查找名為 tag-3.php 的文件。

    3.標籤.php

    4.存檔.php

    5. index.php

    自定義分類層次結構

    自定義分類層次結構與上面討論的標籤和類別層次結構非常相似。

    WordPress 將首先查找 taxonomy-{taxonomy}-{term}.php。 如果沒有找到,它將查找層次結構中的下一行文件,即taxonomy-{taxonomy}.php,依此類推。

    當 WordPress 沒有找到任何 archive.php 模板文件或專用模板時,它會使用 index.php 恢復其默認行為。

    自定義分類層次結構如下:

    1. taxonomy-{taxonomy}-{term}.php:例如,如果您的分類法稱為“taxes”,而相同分類法的術語是“statelevel”,WordPress 會查找名為 taxonomy-taxes-statelevel.php 的文件.

    2. taxonomy-{taxonomy}.php:例如,當分類法被稱為“taxes”時,WordPress 會查找名為 taxonomy-taxes.php 的文件。

    3. 分類法.php

    4.存檔.php

    5. index.php

    如何創建分類模板文件

    在您決定要使用分類法為您的內容創建自定義設計後,您從哪裡開始?

    最好不要從空白文件開始。 相反,如果它存在,只需複制層次結構中的下一個文件。

    假設已經創建了一個 archive.php,創建一個副本並將其命名為 category.php。 然後修改該文件以滿足您的特定設計目標和需求。

    如果您還沒有archive.php 文件,您可以使用主題中的index.php 文件,複製它,並將其用作您的起點。

    創建任何分類模板文件時,您可以遵循相同的步驟。 只需使用 category.php、index.php、tag.php 或 archive.php 的副本作為起點。

    如何將文本添加到您的類別頁面

    如果您想將文本添加到您的類別頁面,您可以通過多種方式進行操作。

    帖子上方的靜態文本

    當您希望在類別頁面上的帖子列表之前顯示靜態文本(對於所有類別中的所有帖子始終保持相同的文本)時,您將使用此方法。

    打開文件。 在模板文件的循環部分上方,只需插入以下代碼:

     <p>
    這是將顯示在“類別”頁面頂部的一些文本。
    </p>

    該文本只會顯示在顯示該特定類別中的帖子的存檔頁面上。

    如何在某些類別頁面上放置不同的文本

    如果您希望根據訪問者使用的特定類別頁面顯示不同的文本,請考慮將一些默認文本直接添加到您的主 category.php 文件中。

    然後,您可以創建一些獨特的 category-{slug}.php 文件,每個文件都有自己的文本版本。 問題是這會創建很多主題文件。

    為了解決這個問題,請使用條件標籤。

    在 The Loop 之後將再次添加以下代碼:

     <?php if (is_category('Category A')) : ?>
    <p>這是描述A類的文字</p>
    <?php elseif (is_category('Category B')) : ?>
    <p>這是描述B類的文字</p>
    <?php 其他:?>
    <p>這是一些描述所有其他類別頁面的通用文本,
    我可以留空</p>
    <?php endif; ?>

    此代碼將:

    • 檢查用戶是否請求了類別 A。如果有,它將顯示文本的第一部分
    • 檢查類別 B 是不是站點訪問者沒有對類別 A 提出請求。如果他們這樣做了,它將顯示文本的第二部分
    • 如果既沒有請求 A 也沒有請求 B 則顯示默認文本

    你已經準備好了。

    如何僅在存檔的第一頁上顯示文本

    如果您有太多帖子無法放在一個存檔頁面上,則該類別將拆分為多個頁面。 在這種情況下,您可能希望在結果的第一頁上為用戶顯示靜態文本。

    為此,您需要使用 PHP “if”語句來查找 $paged WordPress 變量的值。

    這是您要粘貼在循環上方的內容:

     <?php if ( $paged < 2 ) : ?>
    <p>類別存檔第一頁的文本。</p>
    <?php 其他:?>
    <?php endif; ?>

    通過使用它,代碼將詢問顯示的頁面是否是存檔的第一個頁面。 當它是時,將顯示專用於第一頁的文本。

    如果沒有,將顯示下一頁的文本。

    自定義 WordPress 分類法

    如果您查看 WordPress 可視化編輯器的右側,您會看到標籤“類別”和“標籤”。 但是,例如,如果您想擁有自己的自定義分類法,上面寫著“藝術家”,該怎麼辦?

    這就是自定義 WordPress 分類法發揮作用的地方。 此功能允許您自定義所有分類法,以完全滿足您的開發要求。

    例如,考慮一個小型鄰里餐廳的 WordPress 網站。 與其擁有一個稱為“類別”的廣義分類法,不如擁有一個寫著“開胃菜”和“主菜”的自定義分類法嗎?

    然後,每個自定義分類法可以進一步細分為子類別,例如“披薩”和“意大利面”。

    相同的概念適用於標籤分類法。 您可以為諸如“Supreme”或“Lighter Fare”之類的東西添加標籤。

    創建自定義 WordPress 分類法

    可以通過兩種不同的方式創建自定義 WordPress 分類法。 它們可以通過直接編碼或使用幾個不同的 WordPress 插件創建。

    使用插件創建自定義 WordPress 分類法

    到目前為止,使用插件是創建自定義 WordPress 分類法的最簡單方法。 事實上,你根本不需要太多的技術技能來做到這一點。

    用於創建自定義 WordPress 分類法的最佳插件是 Pods 和自定義帖子類型 UI。

    我們將使用自定義帖子類型 UI 插件來演練如何創建自定義 WordPress 分類法。

    1. 下載、安裝然後激活自定義帖子類型 UI WordPress 插件。
    2. 導航到 CTP UI > 添加/編輯分類法
    3. 在框中填寫您要使用的 WordPress 分類法名稱。 在這種情況下,假設我們使用“藝術家”作為我們的類別。
    4. 選擇要應用新 WordPress 分類法的帖子類型。
    5. 單擊底部附近的“添加分類法”按鈕。
    6. 現在,導航到 Posts > Add New,您將在可視化編輯器旁邊看到新的 WordPress 分類法。

    您可能會注意到您的新分類法是一個名為“藝術家”的標籤。 但是如果你想創建一個類別而不是一個標籤呢? 答案比你想像的要簡單。

    您需要做的就是向下滾動一點並將“Hierarchical”更改為“True”。 您的自定義分類現在是一個類別而不是標籤。

    通過向functions.php添加代碼來創建自定義WordPress分類

    如果您不熟悉或不習慣使用代碼,那麼在創建自定義 WordPress 分類法時堅持使用插件可能是個好主意。 但是,如果您是那種喜歡弄髒他們的虛擬手的人,這將向您展示如何將正確的代碼添加到您站點的functions.php 文件中。

    作為高級 WordPress 用戶,您只需將幾行代碼添加到 WordPress 主題目錄中的 WordPress functions.php 文件中。

    請注意,非分層分類法的代碼將與分層分類法不同。

    在執行此過程之前,請確保您正在運行 WordPress 備份插件,如果過程中有任何中斷,您可以立即恢復您的站點。

    當您使用它時,現在是考慮在您的站點上運行的 WordPress 安全插件的好時機。

    獲取獎勵內容:WordPress 安全指南
    點擊這裡

    隨著全球主要的安全黑客和漏洞正在發生,確保您使用最好的工具來確保您的 WordPress 網站安全非常重要。 iThemes Security 為您提供保障。

    現在,分層分類法和非分層分類法所需的代碼示例如下所示。

    分層分類法(類別):示例代碼

    //鉤入init動作並在它觸發時調用create_book_taxonomies
    add_action('init', 'create_topics_hierarchical_taxonomy', 0);
    
    //為您的帖子創建一個自定義分類法,將其命名為主題
    函數 create_topics_hierarchical_taxonomy() {
    
    // 添加新的分類法,使其像類別一樣分層
    
    //首先做GUI的翻譯部分
    $標籤=數組(
    'name' =_x( 'Topics', '分類通用名稱'),
    'singular_name' =_x( 'Topic', '分類單數名稱'),
    'search_items' =__( '搜索主題' ),
    'all_items' =__( '所有主題' ),
    'parent_item' =__( '父主題'),
    'parent_item_colon' =__( '父主題:' ),
    'edit_item' =__( '編輯主題' ),
    'update_item' =__( '更新主題'),
    'add_new_item' =__( '添加新主題' ),
    'new_item_name' =__( '新主題名稱' ),
    'menu_name' =__( '主題' ),
    );
    
    // 現在註冊分類法
    register_taxonomy('topics',array('post'), array(
    '分層' =真,
    '標籤' =$標籤,
    'show_ui' =真,
    'show_admin_column' = 真,
    'query_var' =真,
    'rewrite' =array( 'slug' = 'topic' ),
    ));
    }

    非分層分類法(標籤):示例代碼

    //鉤入init動作並在它觸發時調用create_book_taxonomies
    add_action('init', 'create_topics_hierarchical_taxonomy', 0);
    
    //為您的帖子創建一個自定義分類法,將其命名為主題
    函數 create_topics_hierarchical_taxonomy() {
    
    // 添加新的分類法,使其像類別一樣分層
    
    //首先做GUI的翻譯部分
    $標籤=數組(
    'name' =_x( 'Topics', '分類通用名稱'),
    'singular_name' =_x( 'Topic', '分類單數名稱'),
    'search_items' =__( '搜索主題' ),
    'all_items' =__( '所有主題' ),
    'parent_item' =__( '父主題'),
    'parent_item_colon' =__( '父主題:' ),
    'edit_item' =__( '編輯主題' ),
    'update_item' =__( '更新主題'),
    'add_new_item' =__( '添加新主題' ),
    'new_item_name' =__( '新主題名稱' ),
    'menu_name' =__( '主題' ),
    );
    
    // 現在註冊分類法
    register_taxonomy('topics',array('post'), array(
    '分層' =真,
    '標籤' =$標籤,
    'show_ui' =真,
    'show_admin_column' = 真,
    'query_var' =真,
    'rewrite' =array( 'slug' = 'topic' ),
    ));
    }

    然後,當您希望在 WordPress 可視化編輯器中顯示新分類時,從編輯器中打開 single.php 並複制以下代碼:

     the_terms( $post-ID, 'topics', 'Topics: ', ', ', ' ' );

    如果整個過程正確完成,您現在將在可視化編輯器中看到一個名為“主題”的新分類法。

    總結:了解 WordPress 分類法

    正如我們所知,WordPress 分類法是您用來對 WordPress 網站上的內容進行分組的方法。 分類法可以用作廣泛內容主題的類別,以及這些主題中較小細節的標籤。

    您還可以通過使用一些特定的 WordPress 插件或通過向 functions.php 文件添加代碼來創建自定義分類法。

    當您以正確的方式使用 WordPress 分類策略時,它將提升您網站的用戶體驗和整體性能。

    WordPress 分類法