我创建了一个自定义管理栏,仅对已登录的用户显示。但是我只是注意到,使用“ 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
答案 0 :(得分:0)
有时is_user_logged_in()函数在模板重定向中表现异常。
尝试使用其他条件,用此条件替换第一行:
"System.Byte[]"
答案 1 :(得分:0)
问题出在“ WP Fastest Cache”插件上。关闭时,错误不再存在。