概要
wp_logout
アクションは、現在のユーザーをログアウトした際に発火するフックです。このアクションは、ユーザーがサイトからログアウトするたびにカスタム処理を実行したい場合に一般的に使用されます。具体的には、以下のような機能の実装に役立ちます。
- ログアウト時に特定のデータをクリアする
- ユーザーにログアウト完了メッセージを表示する
- ログアウト時にカスタムリダイレクトを設定する
- 外部サービスへのログアウト処理を実行する
- セキュリティログを記録する
- ユーザーのアクティビティをトラッキングする
- カスタムログアウトページを表示する
- メール通知を送信する
構文
add_action('wp_logout', 'your_custom_function');
パラメータ
wp_logout
アクションにはパラメータはありません。
戻り値
このアクションは返り値を持ちません。
関連する関数
使用可能バージョン
wp_logout
アクションは、WordPress 1.5以降で使用可能です。
コアファイルのパス
wp-includes/pluggable.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: ログアウト時にメッセージを表示
add_action('wp_logout', 'say_goodbye');
function say_goodbye() {
echo '<script>alert("ご利用ありがとうございました!");</script>';
}
このコードは、ユーザーがログアウトした際に、アラートメッセージを表示します。
サンプル2: ログアウト時にリダイレクト
add_action('wp_logout', 'redirect_after_logout');
function redirect_after_logout() {
wp_redirect(home_url());
exit();
}
このコードは、ユーザーがログアウトした後、ホームページにリダイレクトします。
サンプル3: ログアウト時に外部APIを呼び出す
add_action('wp_logout', 'call_external_api_on_logout');
function call_external_api_on_logout() {
wp_remote_post('https://example.com/logout', array('body' => array('user_id' => get_current_user_id())));
}
このコードは、ユーザーがログアウトすると外部APIを呼び出します。
サンプル4: ログアウト時にセキュリティログを記録
add_action('wp_logout', 'record_logout_event');
function record_logout_event() {
$user_id = get_current_user_id();
error_log("User {$user_id} has logged out.");
}
このコードは、ユーザーがログアウトしたときに、そのイベントをエラーログに記録します。
サンプル5: メール通知を送信
add_action('wp_logout', 'send_logout_notification');
function send_logout_notification() {
$user_email = wp_get_current_user()->user_email;
wp_mail($user_email, 'ログアウト通知', 'あなたがログアウトしました。');
}
このコードは、ユーザーがログアウトした際にそのユーザーにメール通知を送信します。