WordPress 可以用什麼方式來判斷使用者登入狀態?
其實 WordPress 本身就已經有會員的功能在裡面,而如果你需要判斷當前的使用者是否是登入 WordPress 的狀態,最簡單的方式就是透過外掛。
可是如果你要做的事情是一個極其簡單的事情時,裝了外掛又好像太過於小題大作,而且還可能導致網站越來越肥大。
這時你就會需要用到 WordPress 的Function API,也就是說 WordPress 早就將許多常常會用到的東西寫成一個 function,只要你會一點程式基礎,都可以暢通無阻的使用它。
以下我們用「登入後隱藏選單」這件事情來做範例。
使用 is_user_logged_in
is_user_logged_in(); 就是一組 WordPress 的function,它是用來判斷使用者登入與否。
第一步: 給予選單一個class名稱
當你有了class的時候,一切都好辦了!
接著你要做的事情是要用jQuery或者CSS來將這個選單隱藏或移除。
因此你會寫:
jQuery(function($){ $(".menu-registration").remove(); })
但是此時加入後不管有沒有登入,這個選單都是被移除的。
因此你需要加入判斷,這時你需要將整個語法都放在佈景主題編輯器 functions.php 裡面,語法如下(裡面script的<>須改為半形的<>):
// 選單隱藏顯示 add_action('wp_head', 'show_hide_frontend_menu'); function show_hide_frontend_menu(){ if ( is_user_logged_in() ) { ?> <script> jQuery(function($){ $(".menu-registration").remove(); }) </script> <?php } }
接著你就會發現,有登入的人,該選單就會被隱藏掉,沒有登入的人則會看見。
是不是非常好用呢?
參考文件: https://developer.wordpress.org/reference/functions/is_user_logged_in/