The Codex page for register_taxonomy
says that
如何使用它覆盖核心分类法而不重新定义所有参数?
例如,让我们想象一下,我想让核心帖子类别对每个人都是只读的。我可以通过设置edit_terms
此分类法能够do_not_allow
.
我的第一位客人是打电话给register_taxonomy
仅使用我要更改的参数:
add_action( \'init\', \'u16975_disable_category_creation\' );
function u16975_disable_category_creation(){
register_taxonomy( \'category\', \'post\', array(
\'capabilities\' => array(
\'edit_terms\' => \'do_not_allow\',
),
) );
}
但这不起作用,因为它还会覆盖所有其他参数并将其设置为默认值(例如:hierarchical
设置回false
).我发现实现这一点的唯一方法是使用存储所有已注册分类的全局变量。
add_action( \'init\', \'u16975_use_global_var\' );
function u16975_use_global_var(){
global $wp_taxonomies;
$wp_taxonomies[\'category\']->cap->edit_terms = \'do_not_allow\';
}