WordPresで会員サイト等を作成する際に、ログイン、ログアウトボタンが必要な場合があります。
この際、ログインリンクをクリック時に、ログインフォームにリダイレクトするのは当然として、ログアウト時には、ログインフォーム画面にはリダイレクトせず、現在表示しているページへリダイレクトする方法ではまったのでメモ。
ログアウトURLは、関数「wp_logout_url」で取得できますが、使用方法は、引数でリダイレクト先を指定します。
デフォルト(ログインフォームへ)
<a href="<?php echo wp_logout_url(); ?>">ログアウト</a>
ログアウト後、現在のページにリダイレクト
<a href="<?php echo wp_logout_url( get_permalink() ); ?>">ログアウト</a>
ログアウト後、ホームページにリダイレクト
<a href="<?php echo wp_logout_url( home_url() ); ?>">ログアウト</a>
ログアウト後、任意の静的ページにリダイレクト
<a href="<?php echo wp_logout_url('リダイレクト先URL'); ?>">ログアウト</a>
今回は、動的URLの商品ページでログアウトしても、現在表示しているページへリダイリクトしたかったのですが、上記の方法では静的ページへしかリダイリクトできないようです。
<a href="<?php echo wp_logout_url('リダイレクト先URL'); ?>/?=*****">ログアウト</a>
のように記述しても、「本当にログアウトしますか?」という警告画面が表示された後、ログアウトリンクをクリックすると、デフォルトのログイン画面へと戻されてしまいます。

動的URLでも、現在表示しているページへリダイリクトするには下記の方法で成功しました。
<?php global $user_identity; echo $user_identity; ?>さんがログイン中 | <a href="<?php echo wp_logout_url(site_url($_SERVER["REQUEST_URI"])); ?>" title="ログアウト">ログアウト</a>
【参考】
WordPress ログインとログアウト
http://mori.moripower.jp/eqwip/wordpress/222.html
