【问题标题】:Wordpress - What is the best way to disable the TAG pages of a blog?Wordpress - 禁用博客标签页面的最佳方法是什么?
【发布时间】:2017-11-01 21:39:49
【问题描述】:

我不希望 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);

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

附:我用过:unregister_taxonomy_for_object_type 但是,它删除了添加标签的选项,但不会删除系统中当前存在的标签,也不会删除它创建的页面!

【问题讨论】:

  • 您能否提供更多有关您如何显示标签的信息。很确定您可以从“the_tags”中删除链接,或者您可以创建自定义查询以显示没有 href 标记的标记。
  • @YuxelYuseinov - 这无关紧要。在 WP 中,有一种方法可以删除给定分类法的档案。 “如何显示”不是等式的一部分 - OP 几乎可以肯定使用内置分类法,它具有用于显示标签、类别等的内置系统。
  • @cale-b 你说得有道理:))
  • @YuxelYuseinov 是的,它是一个内置的分类法,我的问题是删除该标签创建的页面 /tag/some_tag/
  • @cale_b 是的,你是对的,这是默认的帖子分类法。

标签: wordpress wordpress-hook


【解决方案1】:

我相信您想使用内置的 WP 过滤器register_taxonomy_args,它允许您过滤/调整所有分类法,包括内置的“标签”分类法。您将使用过滤器禁用 public 设置,这应该将其从 WP 的前端中删除。 (如果 public 没有做你想做的事,那么请阅读 register_taxonomy 参数,并根据需要调整/测试)。

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;
}

【讨论】:

  • 这个答案有帮助吗?你试过/运气好吗?
  • 我将如何修改它以仅删除与它们相关的帖子少于 7 个的标签的标签页?
  • @SeanLang - 这值得提出一个新问题,这不是一个简单的改变。如果您提出问题,您可以在此处回复并评论我,并提供指向新问题的链接,我可以查看。
猜你喜欢
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 2017-07-26
相关资源
最近更新 更多