gabgabさん、こんにちは。
全バージョンにおいて、ログアウトへのリンクのパラメータに redirect_to=(サイトトップページのURL) を含めると、ログアウト時にサイトトップへのリダイレクトになります。
2.7以降であれば、フックでログアウトリンクのURL書き換えを行うことが可能ですが、それ以前のバージョンでは、かなり面倒です。
jim912さんありがとうございます。
まずは2.7以降について解決していきたいと思います。
2.7以降であれば、フックでログアウトリンクのURL書き換えを行うことが可能ですが
あまり知識が無いものですから予測ですが、使用するフックはおそらくwp_logout
だと思います。(合ってるでしょうか?)
そこで、まず関数を作成しなければなりませんが、Codex日本語版には、
- イベント発生時に実行する PHP 関数をプラグインファイル内に作成
-
add_action
を呼び出して WordPress にフック
- プラグイン内の PHP 関数が挿入され、始動される
と書いてありますが、プラグインで使用するわけではないので、どこに関数を作成したらよいのでしょうか?
2.7以降について解決しました。
まずはプラグインを使用するわけではない、というのは自分の理解不足でした。
WP_logout を使ってプラグインを作ってしまえばよかったのですね。
参考書を見ながら簡単なプラグインを作って解決しました。
2.6以前のものについては、すぐに思いつく方法はwp-login.phpの中にある
$redirect_to = 'wp-login.php';
ここをリダイレクトさきのURLに書き換えてしまうくらいですが、この方法はあまり良い方法とは言えなさそうです。
これ以外の方法だとかなり面倒なことになるのでしょうか?
gabgabさん、こんにちは。
wp_logoutのフックは2.8からのはずですが、2.7でもちゃんと動作していますか?
2.6以前でコアの改変なしとなると、
- javascriptでURLを書き換え
- 出力ソースを全てバッファリングさせて、ログアウトのURLを書き換え
あたりが考えられます。
jim912さん、ありがとうございます。
2.7でもログアウトしたらリダイレクト先のページに移動していますので、動作しております。
2.6以前についてはアドバイスを参考に調べていきたいと思います。
ありがとうございました。