如你所知, ” show_ui”布尔选项可用于在注册分类法时呈现或不渲染UI上的分类法菜单。函数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中切换布尔值
#1
你可以在注册分类法之前或在注册分类法时使用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' );
}
} );
并且, 如果在注册分类法后必须(或需要)修改show_ui(或其他选项), 则可以使用全局$ wp_taxonomies, 它是所有注册分类法的数组。
示例代码:
/*
* @param string $taxonomy The taxonomy name.
*/
add_action( 'registered_taxonomy', function ( $taxonomy ) {
if ( 'my_taxonomy' === $taxonomy ) {
global $wp_taxonomies;
if ( ! is_array( $wp_taxonomies )
|| ! isset( $wp_taxonomies[ $taxonomy ] ) ) {
return;
}
$wp_taxonomies[ $taxonomy ]->show_ui = false;
}
} );
评论前必须登录!
注册