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

説明

wp_authenticate() は、ユーザー名とパスワードを検証する関数です。ログインはさせません。

基本構文

wp_authenticate( string $username, string $password ): WP_User|WP_Error

引数

  • $username:ユーザー名
  • $password:パスワード

戻り値

認証に成功したら WP_User、失敗したら WP_Error。

使い方(サンプル)

$user = wp_authenticate( 'taro', 'password' );
if ( is_wp_error( $user ) ) {
	// 認証失敗
}

注意点

  • ログインの副作用はありません。認証だけを行いたいときに使います。

実務での使いどころ

  • ユーザー名とパスワードが正しいかだけを、確認するとき(ログインはさせない)。

よくあるミスと対処

  • ログインできると思っている。この関数は、認証だけで、Cookieを設定しない。ログインさせるには、wp_signon() を使う。
  • 戻り値が WP_Error のときを、考えていない。

NG例

wp_authenticate( $name, $pass ); // ログインはされない

OK例

$user = wp_authenticate( $name, $pass );
if ( ! is_wp_error( $user ) ) {
	// 認証に成功
}

使い分け早見表

関数 役割
wp_authenticate() 認証だけを行う
wp_signon() 認証し、ログインする
wp_check_password() パスワードが、ハッシュと一致するかだけを確認する

関連項目

wp_signon()、wp_check_password()

公式リファレンス:wp_authenticate() | Function | WordPress Developer Resources

コメント

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