簡體   English   中英

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”插件上。 關閉時,錯誤不再存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM