問題描述
在 WordPress 類別的代號之間或任何自定義分類框內,有一個鏈接與文本 「+添加新類別」 有一種方式這個鏈接可以刪除,而不訴諸 JS 或 CSS 黑客來隱藏它?使用某種過濾器或動作鈎子隱藏它的方法將是最好的。
如果沒有動作鈎子或過濾器方法來刪除它,我將以 JS 和 CSS 解決方案作為最後的手段。
我這樣做的原因是因為我有一個 WordPress 安裝與 Magento 集成,我正在創建並填充一個名為”brands” 的自定義分類,其中包含 Magento 數據庫中的一系列品牌,因此可以將一個職位分配給一個品牌。顯然這意味着我不希望用户能夠添加自己的條款,只能動態地選擇添加的品牌,以保持與 Magento 的 in-sync 。
謝謝。
最佳解決方案
默認的 metaboxes 註冊在文件 wp-admin/includes/meta-boxes.php 中。在那裏你可以找到功能 post_categories_meta_box(),它將生成分類學的 metabox 。目前沒有可用於過濾輸出的鈎子。但是您可以執行以下操作之一:
-
使用
remove_meta_box()刪除現有的類別 metabox 並使用add_meta_box()註冊自己的類。將現有代碼複製並傳遞到新的 metabox 函數,並將代碼塊從345行移除到367。 -
更清潔的方法:使用
remove_cap()從用户角色中刪除edit_terms功能。如果您看到 metabox 功能,在345線上,您可以看到一個 if-statement,它檢查用户是否具有edit_terms的能力。如果是,將顯示+ Add New XY。問題在這裏,能力的名稱是動態的,可以是任何東西。如果有人註冊了具有不同功能命名的分類法,這可能無法正常工作 (未經測試) 。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。