説明
wp_logout_url() は、ログアウト用のURL(nonce付き)を返す関数です。
基本構文
wp_logout_url( string $redirect = '' ): string
引数
$redirect:ログアウト後の遷移先
戻り値
ログアウトURL。
使い方(サンプル)
echo esc_url( wp_logout_url( home_url( '/' ) ) );
注意点
- nonce が含まれるため、キャッシュされるページに出力すると無効になることがあります。
実務での使いどころ
- ログアウトのリンクを作るとき。
- ログアウト後に、トップページなど、指定のページへ移動させるとき(
$redirectを指定)。
よくあるミスと対処
- URLにnonce(
_wpnonce)が含まれる。ページキャッシュされたページに出すと、期限切れになり、ログアウトの確認画面が出る。 - nonceを付けずに、
wp-login.php?action=logoutを直接書いている。確認画面が出る。
NG例
echo '<a href="/wp-login.php?action=logout">ログアウト</a>'; // nonce が無く、確認画面が出る
OK例
echo '<a href="' . esc_url( wp_logout_url( home_url() ) ) . '">ログアウト</a>';
使い分け早見表
| 関数 | 返すURL |
|---|---|
wp_logout_url() |
ログアウトのURL(nonce付き) |
wp_login_url() |
ログインページのURL |
is_user_logged_in() |
ログインしているか判定 |
関連項目
wp_login_url()、is_user_logged_in()
公式リファレンス:wp_logout_url() | Function | WordPress Developer Resources

コメント