簡體   English   中英

在 Wordpress 中禁用自定義帖子類型的類別選項

[英]Disable the Category option for Custom Post Type in Wordpress

我在一個網站上工作,用戶可以使用自定義帖子類型將視頻添加到 slider。 實際上,存在三個不同的滑塊,每個滑塊中的 go 視頻由分配給它們的類別決定。 這是注冊 cpt 的代碼:

public function videos() {
    register_post_type( 'videos',
            [
            'labels'       => [
              'name'          => 'Videos',
              'singular_name' => 'Videos'
              ],
            'public'       => true,
            'show_in_rest' => true,
            'taxonomies'   => [ 'category' ],
            'rewrite'      => [ 'slug' => 'videos' ],
            'supports'     => [ 'title', 'custom-fields', 'editor', 'excerpt', 'thumbnail' ],
            'menu_icon'    => 'dashicons-format-video'
        ]
    );
  }
}


我通過 WP Admin 添加了三個不同的類別,我想阻止用戶使用或創建除我創建的類別之外的任何其他類別,因此為了做到這一點,我想要“類別”管理欄內 CPT 菜單的選項卡不存在,我希望自定義帖子元框中的“+ 添加新類別”鏈接也一樣。 底線是,除了將現有類別分配給新職位外,用戶不應有任何業務處理類別。

這似乎是一個非常簡單和常見的修復方法,所以令我感到驚訝的是,到目前為止我還沒有找到可行的解決方案。 與我正在尋找的非常接近,但因為我沒有添加register_taxonomy_for_object_type( 'category', 'custom_type' ); 行,我沒有任何要刪除的東西。 我對這一切感到非常困惑,我們將不勝感激。

'taxonomies' => [ 'category' ]是你調用register_taxonomy_for_object_type( 'category', 'custom_type' );方式但是通過刪除它,您可以從帖子類型中刪除分類法,而不僅僅是菜單。

我建議您為您的視頻注冊一個自定義分類法並為其分配管理權限。

注冊分類法: https://developer.wordpress.org/reference/functions/register_taxonomy/

capabilities選項將允許您只允許管理員更改它們,因此您的功能capabilties像這樣。

'capabilities' => array(
    'manage_terms'          => 'update_core',
    'edit_terms'            => 'update_core',
    'delete_terms'          => 'update_core',
),

最后,您將擁有版主/編輯可以管理的自定義帖子類型,以及附加到該帖子類型的自定義分類法,只有管理員可以更改,但模組/編輯可以分配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM