is_user_logged_in与wp_redirect冲突

我试图对未登录的用户隐藏我的自定义帖子类型单页。我使用钩子template_redirect如下:

add_action('template_redirect', 'hide_single_property'); function hide_single_property() { if( is_singular('property') || is_page('dashboard')): if( ! is_user_logged_in() ): wp_redirect(get_permalink(103), 302); exit; endif; endif; }

上面的代码有效, 但存在一些问题。就像我尝试访问http://example.com/property/abc一样, 它会重定向到登录页面。登录后, 如果我尝试访问相同的帖子, 它将再次重定向回登录页面, 但是可以与其他属性一起正常使用。
它只是在再次登录之前加载URL ??
#1【is_user_logged_in与wp_redirect冲突】如果仅是你要隐藏的单个帖子, 则可以将以下内容添加到sinlge-property.php模板文件中:
if ( is_user_logged_in() ) { //your content file get_template_part('content'); } else { //show login page get_template_part('must-login'); }

    推荐阅读