force login loophole

时间:2013-03-06 作者:MachuPichu

我想限制对WordPress网站的访问,只允许注册用户访问。我尝试了以下插件:

它们都有相同的问题:在看到登录页面后,您可以轻松地在浏览器地址栏中重新键入URL,以绕过登录屏幕,直接访问主页,而无需登录。只有主页可以通过这种方式访问。单击任何菜单,将返回登录屏幕。

我怀疑我的网站有问题,而不是插件有问题。

我有以下活动插件:

高级自定义字段Akismet分析360自定义帖子模板登录重定向选择问题(&L);A-WordPress问答插件原始HTML Relevanssi版本控制快速类型搜索(Swiftype Search)非常感谢您的帮助,谢谢。

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

在我看来,您所需要的只是:

function force_login_wpse_89581() {
  if (!is_user_logged_in()) wp_safe_redirect(wp_login_url());
}
add_action(\'template_redirect\',\'force_login_wpse_89581\');
这将强制用户登录页面,但已登录的用户除外。

我不知道那些插件提供了什么,而我的解决方案却没有。也许你需要更复杂的东西。

SO网友:Kevin Vess

你应该看看Force Login 插件;它轻巧、简单,并且完全可以做您想要做的事情。

结束

相关推荐

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

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