こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
会員サイトではログアウト時にスムーズに画面を切り替えたいですよね。たとえばログアウトボタンやリンクを押して下記画面がワンクッションで開くとログインユーザーが素早くログアウトできなくなります。
下記ではちょっとしたカスタマイズで確認画面を省略してログアウトさせる方法をご紹介いたします。
カスタムリンクに追加したメニューで確認画面を出さずにログアウト
メニューはカスタムリンクから設定。リンク文字列は「ログアウト」でOKです。
URLは「https://example.com/wp-login.php?action=logout」。ドメインは環境に合わせてご変更ください。
最後にfunctions.phpに下記を追記。
// カスタムリンクで指定したメニュー名が「ログアウト」なら確認画面を省略するカスタマイズ
function navi_custom_menu_logout_action_change($items){
foreach($items as $item){
// メニューのリンク文字列がログアウトか確認する
if( $item->title == "ログアウト"){
$item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' ).'&redirect_to='.home_url().'/login';
}
}
return $items;
}
add_filter('wp_nav_menu_objects', 'navi_custom_menu_logout_action_change');
リダイレクト先はコメントアウトを含めた5行目で指定しているのでログアウトした後に表示させたいページがあればディレクトリ名を変更すればOKです。通常のログインページに切り替えても良さそうですね。
▼トップページを指定する場合
$item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' ).'&redirect_to='.home_url();
▼ログインページを指定する場合
$item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' ).'&redirect_to='.wp_login_url();
他にも色々な関数があるのでリダイレクト先は自由に設定できます。ぜひご参考くださいませ。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する