强制用户登录-循环问题

时间:2013-03-05 作者:Thom Edward

我使用下面的代码作为插件。这似乎可行,但有时似乎陷入了一个循环。当我有这个插件运行我的facebook社交共享时,它不会为共享帖子获取正确的页面和内容。我关闭了插件,facebook共享效果很好。我做错了什么?

add_action (\'template_redirect\', \'protect_whole_site\');

function protect_whole_site() {
if ( !is_user_logged_in() &&  !in_array( $GLOBALS[\'pagenow\'], array( \'wp-    login.php\', \'wp-register.php\' ) ) ) {
        auth_redirect();
    exit;
    }
}
谢谢!!

1 个回复
SO网友:Milo

Facebook通过发出http请求来获取您网站的内容,就像任何其他访问者一样,您正在将任何试图刮取页面的尝试转发到登录页面。

你可以试试checking for the Facebook user agent 让他们的爬虫通过,但任何人都可以伪装成Facebook机器人,只需更改浏览器的用户代理即可在不登录的情况下浏览您的网站。

结束

相关推荐

如何设置用户在wp-login登录后被重定向到哪里?

所以我很确定这可能与我使用在函数中设置的自定义角色有关。几乎拥有0权限的php文件。然而,我仍然可以访问仪表板,只要我被发送到个人资料。php登录,而不是仪表板。我希望每次都将我的user\\u角色发送到仪表板,因为我在那里为它们设置了一个自定义小部件。我似乎在抄本中找不到函数,也找不到必要的钩子来设置它?如果我使用的是自定义登录表单wp_login_form() 但是我只想使用默认的登录表单,而不需要修改管理文件,这样它就不会受到更新的影响。任何人都知道我需要的功能。Cant似乎为谷歌提供了正确的术语。