我正在尝试为自定义分类法设置一些自定义功能。我正在尝试以下操作:
\'capabilities\' => array(
\'manage_terms\' => \'manage_\'.$types,
\'edit_terms\' => \'edit_\'.$types,
\'delete_terms\' => \'delete_\'.$types,
\'assign_terms\' => \'assign_\'.$types
)
在哪里
$types
是分类法slug的复数形式。这是以编程方式创建自定义分类法的较大函数的一部分。
我正在使用用户角色编辑器查看这些功能(并查看了
options
数据库的表),这些功能并不是全部创建的。我可以看到
edit_terms
和
delete_terms
但没有
manage_terms
和
assign_terms
这些才是我真正需要的。
我很难看出我做错了什么,所以任何帮助都将不胜感激,谢谢!
最合适的回答,由SO网友:Chris Cox 整理而成
在创建分类法时传递的数组应该包含现有功能,而不是创建它们。您必须手动使用add_cap()
在注册分类之前。除非您需要特定的功能随每个新分类法的不同而变化,否则最好传递现有的功能,如manage_categories
或创建一组功能,例如manage_custom_taxonomies
覆盖所有这些。