Wordpress - 禁用博客TAG页面的最佳方法是什么?

时间:2017-11-01 21:39:50

标签: wordpress wordpress-hook

我不希望TAG页面显示在我的Wordpress中,我希望重定向到主页而不是noindex。

我不能使用NGINX重定向作为我的Wordpress在多语言中“标签”这个词可以翻译它可以改变(我真的不想留下机会,在一年我们会添加另一种语言我会忘记添加此重定向)

目前我正在使用它:

public function my_template_include($original_template)
{
    global $wp_query;

// we dont use tags...
    if(is_tag()){
        wp_redirect('/',301);
        exit();
    }
}

add_filter('template_include', array($this, 'my_template_include'), 10, 1);

但我很确定应该有更好的方法。

P.S。我使用过:unregister_taxonomy_for_object_type 但是,它删除了ADD标签的选项,但不会删除系统中当前现有的标签,也不会删除它创建的页面!

1 个答案:

答案 0 :(得分:1)

我相信你想使用内置的WP过滤器register_taxonomy_args,它允许你过滤/调整所有分类法,包括内置的“标记”分类法。您可以使用过滤器禁用public设置,该设置应将其从WP的前端删除。 (如果public没有按照您的具体要求执行,请阅读register_taxonomy args,并根据需要调整/测试。

add_filter( 'register_taxonomy_args', 'my_tags_disable', 10, 3 );

function my_tags_disable( $args, $name, $object_type ) {
    // if it's no the "tag" taxonomy, don't make changes
    if ( 'post_tag' !== $name ) {
        return $args;
    }

    // override the specific arguments to remove the archive from the front-end
    $args['public'] = FALSE;
    $args['publicly_queryable'] = FALSE;

    // return the modified arguments
    return $args;
}