問題描述

我正在考慮在 wordpress 中重建一個 drupal 網站,我還在圍繞系統之間的差異,特別是 cck /欄位和自定義內容型別以及使用分類法的不同方法。

我想知道兩個自定義內容型別是否可以共享一個自定義分類。在 drupal 中,我可以將特定內容型別的釋出限制為一組使用者,然後釋出可以具有僅與一個或多個其他內容型別 (但不是所有型別) 共享的分類。

使用角色扮演器可能出現使用者方面,您可以用 wordpress 來做到嗎?我只看到具有自定義分類法的自定義內容型別,但沒有辦法在兩個或更多自定義內容型別之間共享給定的分類法,而無需在兩個地方重新建立,或透過類別/標籤全域性啟用…

謝謝, – 。

最佳解決方案

在 CPT 之間共享分類

I would like to know if two custom content types can share one custom taxonomy.

簡單的說:是的,他們可以。

如何分享

正如我在 this blog post 中詳細闡述的那樣,您應該儘可能早地註冊自定義分類法和帖子型別。

將註冊過程封裝在一個功能中,掛鉤到 init 鉤子,預設優先順序。

register_taxonomy(
    'some_custom_tax',
    'some_post_type',
    $array_of_arguments
);
register_post_type(
    'some_post_type',
    [
        'taxonomies' => [ 'some_custom_tax' ],
        // other arguments
    ]
);

如果您使用 register_taxonomy()的第二個引數或者使用 register_taxonomy_for_object_type(),則兩者都是一樣的:它們採用 $GLOBALS['wp_taxonomies']陣列併為其分配型別物件 (型別) 。

重要的提示

只需確認您在註冊時註冊 CT 和 CPT 。否則,您將無法在查詢掛鉤期間訪問該互連。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。