• 解決済 gabgab

    (@gabgab)


    現在、ME2.0.11 、 2.6 、 2.7 、 3.0.3 を使用しています。

    上記の全てのバージョンで、管理画面からログアウトした時に、サイトトップページにリダイレクトさせるようにしたいのですが、どのようにしたら実装できるでしょうか?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター jim912

    (@jim912)

    gabgabさん、こんにちは。

    全バージョンにおいて、ログアウトへのリンクのパラメータに redirect_to=(サイトトップページのURL) を含めると、ログアウト時にサイトトップへのリダイレクトになります。

    2.7以降であれば、フックでログアウトリンクのURL書き換えを行うことが可能ですが、それ以前のバージョンでは、かなり面倒です。

    トピック投稿者 gabgab

    (@gabgab)

    jim912さんありがとうございます。

    まずは2.7以降について解決していきたいと思います。

    2.7以降であれば、フックでログアウトリンクのURL書き換えを行うことが可能ですが

    あまり知識が無いものですから予測ですが、使用するフックはおそらくwp_logoutだと思います。(合ってるでしょうか?)
    そこで、まず関数を作成しなければなりませんが、Codex日本語版には、

    1. イベント発生時に実行する PHP 関数をプラグインファイル内に作成
    2. add_action を呼び出して WordPress にフック
    3. プラグイン内の PHP 関数が挿入され、始動される

    と書いてありますが、プラグインで使用するわけではないので、どこに関数を作成したらよいのでしょうか?

    トピック投稿者 gabgab

    (@gabgab)

    2.7以降について解決しました。

    まずはプラグインを使用するわけではない、というのは自分の理解不足でした。
    WP_logout を使ってプラグインを作ってしまえばよかったのですね。
    参考書を見ながら簡単なプラグインを作って解決しました。

    2.6以前のものについては、すぐに思いつく方法はwp-login.phpの中にある
    $redirect_to = 'wp-login.php';ここをリダイレクトさきのURLに書き換えてしまうくらいですが、この方法はあまり良い方法とは言えなさそうです。

    これ以外の方法だとかなり面倒なことになるのでしょうか?

    モデレーター jim912

    (@jim912)

    gabgabさん、こんにちは。

    wp_logoutのフックは2.8からのはずですが、2.7でもちゃんと動作していますか?

    2.6以前でコアの改変なしとなると、

    • javascriptでURLを書き換え
    • 出力ソースを全てバッファリングさせて、ログアウトのURLを書き換え

    あたりが考えられます。

    トピック投稿者 gabgab

    (@gabgab)

    jim912さん、ありがとうございます。

    2.7でもログアウトしたらリダイレクト先のページに移動していますので、動作しております。

    2.6以前についてはアドバイスを参考に調べていきたいと思います。
    ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「ログアウト後のリダイレクト」には新たに返信することはできません。