前言
WordPress如果沒有裝 Woocommerce 或者其他會員前端的外掛插件,其實就會比較麻煩,因為你需要在前端畫面做很多連結轉來轉去。
尤其當你今天需要加入一個簡單的「登出」選單,都很麻煩,加上以前有許多連結或許都失效了(例如 /wp-login?action=logout)等等。
以下就是教大家如何簡單寫一點點的程式,在選單或任何地方加入「登出」這個選項。
利用 wp_logout_url()
首先,先將登出的選單加入至主選單中,此時連結可以設定為"#"即可。
再來,到佈景主題編輯器 > functions.php 置入以下語法:
// 選單隱藏顯示 add_action('wp_head', 'show_hide_frontend_menu'); function show_hide_frontend_menu(){ if ( is_user_logged_in() ) { ?> <script> jQuery(function($){ $("li.menu-user-logout a").attr('href', '<?php echo wp_logout_url(); ?>'); }) </script> <?php } }
其中裡面的 wp_logout_url(); 就是登出網址,而上面的意思就是 “如果會員是登入狀態,將登出選單的連結改為登出連結“。
這時,你就可以在選單當中直接點擊登出按鈕登出會員囉!
然而,登出後你會發現它被導到後台的登入畫面,這時你需要做轉址,將以下語法置入在以上的語法下面:
// 登出轉址 add_action('wp_logout','auto_redirect_after_logout'); function auto_redirect_after_logout(){ wp_safe_redirect( home_url() ); exit; }
這樣一來,登出後,它會自動被導向到首頁了!