问题描述
在 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。