仅限会员站点-仍然需要可访问的丢失密码页面

时间:2018-12-07 作者:Lyall

我的网站在查看任何页面之前都需要登录,而且效果很好:

function wpse_131562_redirect() {
if ( !is_user_logged_in() ) 
{auth_redirect();
}}
add_action(\'template_redirect\', \'wpse_131562_redirect\');
但很明显,这意味着指向丢失密码页面的链接只会重定向回登录页面。我尝试将其更改为:

function wpse_131562_redirect() {
if ( !is_user_logged_in() || (!ispage(\'lost-password\') ))
{auth_redirect();
}}
add_action(\'template_redirect\', \'wpse_131562_redirect\');
但它也有同样的问题,当我尝试使用wp\\u lostpassword\\u url时,它完全崩溃了。

如何限制对除丢失密码页以外的所有内容的访问?

谢谢

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

我相信如果你的陈述不正确,应该是(&&) 不是或

所以试试看

if ( ! is_user_logged_in() && ! is_page( \'lost-password\' ) ) {

EDIT

尝试使用$object = get_queried_object() 用于检查后段塞

$object = get_queried_object();
if ( ! is_user_logged_in() && ( ! $object || \'my-account\' !== $object->post_name ) ) {
  // ...
EDIT 2 页面slug错误,因此在第二个示例中进行了更新

相关推荐

Login page so wide

请我需要帮助,我已经与这个战斗了几个小时,现在我仍然无法得到它的权利,请帮助我,登录页面是如此之宽,我不能得到它是正常的。这是我的wordpress上的用户登录页面,这是下面附带的屏幕截图,如果可以,请帮助我