Wordpress:仅为帖子禁用标记

Lar*_*ert 5 php tags wordpress

我目前正在为Wordpress 3.8.1开发一个主题.因为我的主题不会显示任何标签,所以我想要禁用它们(仅限帖子,而不是自定义帖子类型).但是我该怎么做?我试过这个,但显然,它什么也没做:

register_taxonomy('post_tag', null);
Run Code Online (Sandbox Code Playgroud)

要明确:我不只是想隐藏模板文件中的标签,但我想完全禁用它们,所以在后端,帖子下没有标签的菜单项.

它甚至可能吗?希望如此.谢谢你的帮助!

更新

此外,我尝试了以下,没有任何影响:

register_taxonomy('post_tag', array());
Run Code Online (Sandbox Code Playgroud)

global $wp_taxonomies;
$taxonomy = 'post_tag';
if(taxonomy_exists($taxonomy))
    unset($wp_taxonomies[$taxonomy]);
Run Code Online (Sandbox Code Playgroud)

在编辑帖子时都会删除标签框,但菜单中的链接仍然指向标签列表!

zgr*_*een 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');
Run Code Online (Sandbox Code Playgroud)

此处查看此功能的文档.


use*_*145 9

将此代码粘贴到functions.php中

add_action( 'admin_menu', 'myprefix_remove_meta_box');
function myprefix_remove_meta_box(){
   remove_meta_box( 'tagsdiv-post_tag','post','normal' );
}
Run Code Online (Sandbox Code Playgroud)

tags元框有一个类tagsdiv-post_tag,所以这将删除tags元框

要么

add_action('init', 'remove_tags');
function remove_tags(){
    register_taxonomy('post_tag', array());
}
Run Code Online (Sandbox Code Playgroud)

如果你想完全删除它