尝试保持网站私密性时遇到问题

时间:2017-04-25 作者:Jeffrey

我正在一个测试站点上工作,我试图通过将以下代码添加到我的主题函数,将所有未登录的用户重定向到登录页面,从而使我的站点成为私有站点。php文件:

function redirect_user() {
  if ( ! is_user_logged_in() && ! is_page(array(\'login\',\'register\',\'lostpassword\',\'contact-us\' ))) {
    $return_url = esc_url( home_url( \'/login/\' ) );
    wp_redirect( $return_url );
    exit;
  }

}
add_action( \'template_redirect\', \'redirect_user\' );
在一些测试之后,我在尝试重置测试用户的密码时遇到了一个问题。单击链接重置密码后,我将被重定向到登录页面。我正在想办法解决这个问题。

由于重置密码链接是动态生成的链接,因此我无法将其添加到页面列表中,如上面的代码摘录所示。我在查看wordpress文档,没有看到任何有用的东西。任何帮助都将不胜感激。

1 个回复
SO网友:Jeffrey

在查看重置密码链接后,我意识到通过$\\u GET传递了两个变量:key和login。我在redirect\\u user()函数的开头添加了以下代码:

if(isset($_GET[\'key\'])  && isset($_GET[\'login\']))
{
return ;
}
它没有解决问题,每当我单击重置密码链接时,仍会被重定向到登录页面,但当我进行以下编辑时:

if(!isset($_GET[\'key\'])  && !isset($_GET[\'login\']))
    {
    return ;
    }
它按预期工作,但我不知道为什么。

相关推荐

无法在WordPress中通过PHP显示图像

我有一个奇怪的问题,当我尝试使用PHP输入图像标记的源代码时,它会在检查器中显示以下错误<img src=(unknown) alt=\"\"> 这个代码片段为我提供了正确的url,通过查看CPanel并粘贴和复制地址进行检查,但当我尝试通过php输入它时,不会显示图像$image = wp_get_attachment_image_src( $post_thumbnail_id); //echo($image[0]); ?> <img src=