我正在创建不同的自定义帖子类型和分类法, 并且想要从默认的”帖子”帖子类型中删除”帖子标签”分类法。我该怎么做呢?
谢谢。
#1
我建议你不要与实际的全局混淆。从帖子类型中简单注销分类法是更安全的:register_taxonomy用于创建和修改。
function ev_unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('init', 'ev_unregister_taxonomy');
要删除侧边栏菜单项:
// Remove menu
function remove_menus(){
remove_menu_page('edit-tags.php?taxonomy=post_tag'); // Post tags
}
add_action( 'admin_menu', 'remove_menus' );
#2
也许在技术上更正确的方法是使用unregister_taxonomy_for_object_type
add_action( 'init', 'unregister_tags' );
function unregister_tags() {
unregister_taxonomy_for_object_type( 'post_tag', 'post' );
}
#3
它说” taxonomy_to_remove”的地方是输入要删除的分类的地方。例如, 你可以将其替换为现有的post_tag或类别。
add_action( 'init', 'unregister_taxonomy');
function unregister_taxonomy(){
global $wp_taxonomies;
$taxonomy = 'taxonomy_to_remove';
if ( taxonomy_exists( $taxonomy))
unset( $wp_taxonomies[$taxonomy]);
}
#4
总共注销并删除(最低PHP版本5.4!)
add_action('init', function(){
global $wp_taxonomies;
unregister_taxonomy_for_object_type( 'category', 'post' );
unregister_taxonomy_for_object_type( 'post_tag', 'post' );
if ( taxonomy_exists( 'category'))
unset( $wp_taxonomies['category']);
if ( taxonomy_exists( 'post_tag'))
unset( $wp_taxonomies['post_tag']);
unregister_taxonomy('category');
unregister_taxonomy('post_tag');
});
#5
有一个新功能可以从WordPress中删除分类法。
使用unregister_taxonomy(string $ taxonomy)函数
查看详细信息:https://developer.wordpress.org/reference/functions/unregister_taxonomy/
#6
在’admin_init’钩子insetead而不是’init’中使用它
function unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('admin_init', 'unregister_taxonomy');
#7
add_action(‘admin_menu’, ‘remove_menu_items’);函数remove_menu_items(){remove_submenu_page(‘edit.php’, ‘edit-tags.php?taxonomy = post_tag’); }
评论前必须登录!
注册