wordpressのログアウト時の処理を追加する。

今回はWordpressからログアウトした際に指定したリダイレクトにとぶ処理の仕方を書いておきます。 Theme My Loginというプラグインで会員制サイトを作ってユーザがログアウトすると、デフォルトだとログインページに飛ばされます。 ブラウザから言語情報を取得し、英語や日本語のページにそれぞれリダイレクトしたいときにはテーマに以下の関数を用意して

public function userLogout() {
    $site_url = get_option('siteurl');
    $browser_lang = SurfaceUtil::getBrowserLanguage(); //ブラウザから言語情報を取得
    $redirect_url = $site_url . '/'. $browser_lang . '/login'; //リダイレクトするUrlを編集する
    wp_redirect( $redirect_url ); // ログインページにリダイレクト
    exit();
}

テーマのコンストラクタなどにアクションを追加します。

public function __construct() {
    add_action('wp_logout', array($this, 'userLogout')); //ログアウト時のアクションを追加
}

するとログアウト時に適切な設定言語に基づいたログインページが表示されるようになります。ログアウト時にホーム画面や他の画面にとびたいときは上のコードのUserLogout関数の$redirect_urlを任意に編集すればオッケーです。