概要
wp_validate_auth_cookie
関数は、WordPress においてユーザーの認証クッキーを検証するために使用されます。この関数は、主に以下のような機能を実装する際によく使われます。
- プライベートコンテンツへのアクセス制御
- ユーザーのログイン状態の確認
- セッション管理
- カスタムログインシステムの導入
- 認証強化のためのクッキー管理
- コンテンツ表示の前にユーザー認証を確認
- REST API での認証チェック
- ユーザーアクセス制御フローの実装
構文
wp_validate_auth_cookie( $cookies = '', $scheme = '' );
パラメータ
$cookies
(string) : 検証するクッキーの名前または配列。$scheme
(string) : 認証のスキーム (デフォルトは空)。
戻り値
この関数は、ユーザー ID を返します。無効なクッキーの場合、false
を返します。
関連する関数
使用可能なバージョン
wp_validate_auth_cookie
関数は、WordPress 2.5 以降で使用可能です。
コアファイルのパス
この関数は、wp-includes/pluggable.php
に含まれています。
サンプルコード
サンプルコード 1: 認証クッキーを検証する基本的な例
if ( wp_validate_auth_cookie() ) {
echo 'ユーザーは認証されています。';
} else {
echo 'ユーザーは認証されていません。';
}
このサンプルコードは、現在のユーザーが認証されているかどうかを確認し、その結果を表示します。
サンプルコード 2: 特定のクッキー名を検証する
$cookies = 'wp_login';
if ( wp_validate_auth_cookie( $cookies ) ) {
echo '指定されたクッキーは有効です。';
} else {
echo '指定されたクッキーは無効です。';
}
特定のクッキー名 (wp_login
) を使用して、その有効性を確認するサンプルです。
サンプルコード 3: スキームを指定して検証する
if ( wp_validate_auth_cookie( '', 'logged_in' ) ) {
echo 'ログインスキームでユーザーは認証されています。';
}
このコードは、特定の認証スキーム(logged_in
)を用いてユーザーの認証状態を確認します。
サンプルコード 4: 無効なクッキーの処理
$user_id = wp_validate_auth_cookie();
if ( ! $user_id ) {
wp_die( '無効なクッキーです。' );
}
無効なクッキーが検出された場合に、エラーメッセージを表示する例です。
サンプルコード 5: REST API での認証確認
add_action( 'rest_api_init', function () {
if ( ! wp_validate_auth_cookie() ) {
return new WP_Error( 'unauthorized', 'ユーザーは認証されていません。', array( 'status' => 401 ) );
}
});
REST API の初期化時にユーザーが認証されているかを確認し、認証されていない場合にエラーを返す例です。
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
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 | 〇 |
この関数は、特定のバージョンの WordPress において非推奨とされています。非推奨のバージョンについての情報はありません。