Wordpress is_user_logged_in() 仅适用于管理员,没有其他角色
Wordpress is_user_logged_in() only works for admins and no other Role
我制作了一个仅对登录用户显示的自定义管理栏。但我只是注意到 "is_user_logged_in()" 函数仅适用于管理员,而不适用于贡献者或旁观者。
该代码在特定的几页中适用于贡献者和观众。我相信这可能是因为这些页面有一些代码可以检查用户是否登录。但我不知道。
这是我的 PHP 和 HTML 代码:
<?php if ( is_user_logged_in() ) : ?>
<a href="<?php global $current_user; echo home_url() . '/members/' . $current_user->user_login . '/profile/'; ?>">My profile</a>
<a class="screen-reader-shortcut" href="<?php echo esc_url( wp_logout_url() ); ?>"><?php _e('Log out'); ?></a>
<?php else: ?>
<span>Become a member</span>
<a href="/wp-login.php">Log in</a>
<a class="cta-small" href="/register">Get invitation</a>
<?php endif; ?>
知道为什么它不起作用吗?
我使用 Wordpress 5.2.1 和 PHP 7.2
有时 is_user_logged_in() 函数在模板重定向时表现异常。
尝试使用不同的条件,将第一行替换为:
<?php if ( get_current_user_id() != 0 ) : ?>
问题出在 "WP Fastest Cache" 插件上。当关闭错误不再存在。
我制作了一个仅对登录用户显示的自定义管理栏。但我只是注意到 "is_user_logged_in()" 函数仅适用于管理员,而不适用于贡献者或旁观者。
该代码在特定的几页中适用于贡献者和观众。我相信这可能是因为这些页面有一些代码可以检查用户是否登录。但我不知道。
这是我的 PHP 和 HTML 代码:
<?php if ( is_user_logged_in() ) : ?>
<a href="<?php global $current_user; echo home_url() . '/members/' . $current_user->user_login . '/profile/'; ?>">My profile</a>
<a class="screen-reader-shortcut" href="<?php echo esc_url( wp_logout_url() ); ?>"><?php _e('Log out'); ?></a>
<?php else: ?>
<span>Become a member</span>
<a href="/wp-login.php">Log in</a>
<a class="cta-small" href="/register">Get invitation</a>
<?php endif; ?>
知道为什么它不起作用吗?
我使用 Wordpress 5.2.1 和 PHP 7.2
有时 is_user_logged_in() 函数在模板重定向时表现异常。
尝试使用不同的条件,将第一行替换为:
<?php if ( get_current_user_id() != 0 ) : ?>
问题出在 "WP Fastest Cache" 插件上。当关闭错误不再存在。