我目前正在为Wordpress 3.8.1开发一个主题。因为我的主题不会显示任何标签,所以我想要禁用它们(仅限帖子,而不是自定义帖子类型)。但是我该怎么做?我试过这个,但显然,它没有做任何事情:
register_taxonomy('post_tag', null);
要明确:我不只是想隐藏模板文件中的标签,但我想完全禁用它们,所以在后端,帖子下没有标签的菜单项。
甚至可能吗?希望如此。谢谢你的帮助!
此外,我尝试了以下操作,没有任何影响:
register_taxonomy('post_tag', array());
和
global $wp_taxonomies;
$taxonomy = 'post_tag';
if(taxonomy_exists($taxonomy))
unset($wp_taxonomies[$taxonomy]);
在编辑帖子时都会删除标签框,但菜单中的链接仍然指向标签列表!
答案 0 :(得分:16)
从WordPress 3.7开始,有一个unregister_taxonomy_for_object_type
函数可用于这种事情。
在你的情况下:
// Remove tags support from posts
function myprefix_unregister_tags() {
unregister_taxonomy_for_object_type('post_tag', 'post');
}
add_action('init', 'myprefix_unregister_tags');
查看此功能的文档here。
答案 1 :(得分:8)
将此代码粘贴到您的functions.php
中add_action( 'admin_menu', 'myprefix_remove_meta_box');
function myprefix_remove_meta_box(){
remove_meta_box( 'tagsdiv-post_tag','post','normal' );
}
tags
元框的类别为tagsdiv-post_tag
,因此会删除tags
元框
OR
add_action('init', 'remove_tags');
function remove_tags(){
register_taxonomy('post_tag', array());
}
如果你想完全删除它