wp_logout_url() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました