刷新页面时用户已注销
User is logged out when refreshing page
我在使用 Wordpress 会员网站时遇到问题。安装是带有子域的多站点。
我要求用户登录才能查看子域站点的所有页面。为此,我选择了不使用任何函数并将 <?php wp_login_form(); ?>
放置在 page-template
中,如下所示...
<?php if ( is_user_logged_in() ) {
get_header(); ?>
<div class="page-content-wrapper ">
</div>
<?php get_footer();?>
<?php } else {?>
<?php get_header('login'); ?>
<?php wp_login_form(); ?>
<?php get_footer('login');?>
<?php }?>
这很有用 - 当 is_user_logged_in()
他们获得页面,否则他们获得 wp_login_form();
。离开此页面时出现我的问题。用户已注销,返回页面后必须再次登录,如此处所示。
当我将 if ( is_user_logged_in() )
添加到其他页面时也会发生这种情况。
当用户需要登录时,我也尝试过重定向到 wp-login.php
,但这只是循环回到 wp-login.php
,这表明我遇到了 cookie 问题,因为登录凭据已记录。
我注意到在登录之前,cookie 显示如下
登录后如图所示
重新访问需要登录的页面后,cookie 将恢复为原始状态。但是,永远不会存储用户凭据。
如有任何帮助,我们将不胜感激。
更新
看来,如果我先登录 wp-admin
我可以访问该页面并显示用户信息。如果我离开页面,用户将注销并需要登录。
您的 footer.php 第 38 行存在代码问题:
<a role="button" href="<?php wp_logout(); ?> "
您正在使用 wp_logout() 使用户在访问网站前端时退出。你需要用这个替换它:
<a role="button" href="<?php echo wp_logout_url(); ?> ">
这个很好,因为它会放置 link 以便用户在单击时注销。
我在使用 Wordpress 会员网站时遇到问题。安装是带有子域的多站点。
我要求用户登录才能查看子域站点的所有页面。为此,我选择了不使用任何函数并将 <?php wp_login_form(); ?>
放置在 page-template
中,如下所示...
<?php if ( is_user_logged_in() ) {
get_header(); ?>
<div class="page-content-wrapper ">
</div>
<?php get_footer();?>
<?php } else {?>
<?php get_header('login'); ?>
<?php wp_login_form(); ?>
<?php get_footer('login');?>
<?php }?>
这很有用 - 当 is_user_logged_in()
他们获得页面,否则他们获得 wp_login_form();
。离开此页面时出现我的问题。用户已注销,返回页面后必须再次登录,如此处所示。
当我将 if ( is_user_logged_in() )
添加到其他页面时也会发生这种情况。
当用户需要登录时,我也尝试过重定向到 wp-login.php
,但这只是循环回到 wp-login.php
,这表明我遇到了 cookie 问题,因为登录凭据已记录。
我注意到在登录之前,cookie 显示如下
登录后如图所示
重新访问需要登录的页面后,cookie 将恢复为原始状态。但是,永远不会存储用户凭据。
如有任何帮助,我们将不胜感激。
更新
看来,如果我先登录 wp-admin
我可以访问该页面并显示用户信息。如果我离开页面,用户将注销并需要登录。
您的 footer.php 第 38 行存在代码问题:
<a role="button" href="<?php wp_logout(); ?> "
您正在使用 wp_logout() 使用户在访问网站前端时退出。你需要用这个替换它:
<a role="button" href="<?php echo wp_logout_url(); ?> ">
这个很好,因为它会放置 link 以便用户在单击时注销。