問題描述

在 WordPress 類別的代號之間或任何自定義分類框內,有一個連結與文字 「+新增新類別」 有一種方式這個連結可以刪除,而不訴諸 JS 或 CSS 駭客來隱藏它?使用某種過濾器或動作鉤子隱藏它的方法將是最好的。

如果沒有動作鉤子或過濾器方法來刪除它,我將以 JS 和 CSS 解決方案作為最後的手段。

我這樣做的原因是因為我有一個 WordPress 安裝與 Magento 整合,我正在建立並填充一個名為”brands” 的自定義分類,其中包含 Magento 資料庫中的一系列品牌,因此可以將一個職位分配給一個品牌。顯然這意味著我不希望使用者能夠新增自己的條款,只能動態地選擇新增的品牌,以保持與 Magento 的 in-sync 。

謝謝。

最佳解決方案

預設的 metaboxes 註冊在檔案 wp-admin/includes/meta-boxes.php 中。在那裡你可以找到功能 post_categories_meta_box(),它將生成分類學的 metabox 。目前沒有可用於過濾輸出的鉤子。但是您可以執行以下操作之一:

  1. 使用 remove_meta_box()刪除現有的類別 metabox 並使用 add_meta_box()註冊自己的類。將現有程式碼複製並傳遞到新的 metabox 函式,並將程式碼塊從 345 行移除到 367

  2. 更清潔的方法:使用 remove_cap()從使用者角色中刪除 edit_terms 功能。如果您看到 metabox 功能,在 345 線上,您可以看到一個 if-statement,它檢查使用者是否具有 edit_terms 的能力。如果是,將顯示+ Add New XY 。問題在這裡,能力的名稱是動態的,可以是任何東西。如果有人註冊了具有不同功能命名的分類法,這可能無法正常工作 (未經測試) 。

參考文獻

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