正如您所知道的'show_ui'
布尔选项在注册ataxonomy时在UI上处理呈现或不重新发布Taxonomy菜单。
function custom_taxonomy(){
$labels = array(
'name' => 'Taxonomies',
'singular_name' => 'Taxonomy',
'menu_name' => 'Taxonomy',
'all_items' => 'All Items',
'parent_item' => 'Parent Item',
'parent_item_colon' => 'Parent Item:',
'new_item_name' => 'New Item Name',
'add_new_item' => 'Add New Item',
'edit_item' => 'Edit Item',
'update_item' => 'Update Item',
'view_item' => 'View Item',
'separate_items_with_commas' => 'Separate items with commas',
'add_or_remove_items' => 'Add or remove items',
'choose_from_most_used' => 'Choose from the most used',
'popular_items' => 'Popular Items',
'search_items' => 'Search Items',
'not_found' => 'Not Found',
'no_terms' => 'No items',
'items_list' => 'Items list',
'items_list_navigation' => 'Items list navigation',
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
register_taxonomy( 'taxonomy', array( 'post' ), $args );
}
add_action( 'init', 'custom_taxonomy', 0 );
注册分类后有没有办法修改此选项?像任何钩子或过滤器一样切换functions.php
答案 0 :(得分:2)
您可以使用register_taxonomy_args
在注册分类法之前或在注册分类法时过滤分类法选项。
示例代码:
/*
* @param array $args The taxonomy args such as show_ui.
* @param string $taxonomy The taxonomy name.
*/
add_filter( 'register_taxonomy_args', function ( $args, $taxonomy ) {
if ( 'my_taxonomy' === $taxonomy ) {
$args['show_ui'] = false;
}
return $args;
}, 10, 2 );
还可以“挂钩”一个“操作”,在注册分类后,只需触发此过滤器。例如,您可以在分类中指定其他帖子/对象类型。
示例代码:
/*
* @param string $taxonomy The taxonomy name.
*/
add_action( 'registered_taxonomy', function ( $taxonomy ) {
if ( 'my_taxonomy' === $taxonomy ) {
register_taxonomy_for_object_type( $taxonomy, 'post' );
}
} );
如果您必须(或需要)修改注册后的分类<{1>}(或任何其他选项),那么您可以使用全局show_ui
,这是所有注册分类法中的$wp_taxonomies
。
示例代码:
array