php WordPress:仅对帖子禁用标记

jdgnovmf  于 2022-10-30  发布在  PHP
关注(0)|答案(3)|浏览(153)

我目前正在为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]);

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

kiz8lqtg

kiz8lqtg1#

在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的文档。

e5nqia27

e5nqia272#

将此代码粘贴到您的functions.php

add_action( 'admin_menu', 'myprefix_remove_meta_box');
function myprefix_remove_meta_box(){
   remove_meta_box( 'tagsdiv-post_tag','post','normal' );
}

tags meta框具有tagsdiv-post_tag类,因此这将移除tags元框

add_action('init', 'remove_tags');
function remove_tags(){
    register_taxonomy('post_tag', array());
}

如果您完全想删除它

vbopmzt1

vbopmzt13#

对我来说,禁用帖子中标签重写规则的最佳解决方案是使用post_tag_rewrite_rules过滤器钩子。

add_filter( 'post_tag_rewrite_rules', '__return_empty_array' );

相关问题