关于正确使用wp_reDirect的问题?

时间:2011-10-04 作者:Redirection

我正在尝试创建一个推特风格的流,所以基本上只有索引、标记存档,可能还有一两个页面,同时禁止访问其他所有内容。例如,他们试图访问一个帖子页面,然后被扔回主页。这是否适合使用重定向和wp\\u重定向,如果是这样,最好创建一个只包含wp\\u重定向的虚拟文件(例如single.php),还是只在标题顶部使用条件。php?还是我完全偏离了方向?

2 个回复
SO网友:Milo

这似乎只是你主题的一个功能。如果你不提供单个帖子、类别等的链接,那么就你的访问者而言,这些东西实际上是不存在的。

如果您真的想阻止对内容的访问,则不能在模板中重定向,因为已经发送了标题。您可以在pre_get_posts, 检查查询,并在该点重定向。

下面是一个简单的示例:

function wpse30196_pre_get_posts( $query ) {
    if( $query->is_home || $query->is_tag ):
        return;
    else:
        wp_redirect( home_url() );
        exit;
    endif;
}
add_action(\'pre_get_posts\', \'wpse30196_pre_get_posts\');

SO网友:ayyan

wp\\u redirect()不会自动退出,并且应该始终后跟exit。

结束

相关推荐