check_password_reset_key()


WordPress関数check_password_reset_key()は、パスワードリセットキーを検証するために使用されます。この関数は、ユーザーが提供したキーとユーザー情報を確認し、キーが有効かどうかを判断します。

シンタックス

check_password_reset_key( string $key, WP_User $user );

引数の説明:

  • $key (string) — ユーザーが送信したパスワードリセットキー。
  • $user (WP_User) — パスワードリセットをリクエストしたユーザーオブジェクト。

返り値:

  • 成功した場合: WP_User オブジェクトを返します。
  • 失敗した場合: エラーメッセージを含むWP_Errorオブジェクトを返します。

例 1: パスワードリセットキーの検証

次のコードは、パスワードリセットキーが有効かどうかを確認します。

<?php
$key = $_GET['key'];
$user = get_user_by( 'email', 'example@example.com' );
$result = check_password_reset_key( $key, $user );
if ( is_wp_error( $result ) ) {
    echo 'リセットキーが無効です。';
} else {
    echo 'リセットキーが有効です。';
}
?>

例 2: ユーザーのパスワードリセットページへのリダイレクト

キーが有効な場合に、ユーザーをパスワードリセットページにリダイレクトします。

<?php
$key = $_GET['key'];
$user = get_user_by( 'email', $_GET['email'] );
if ( ! is_wp_error( check_password_reset_key( $key, $user ) ) ) {
    wp_redirect( wp_lostpassword_url() );
    exit;
}
?>

例 3: エラーメッセージの処理

エラーが発生した場合のエラーメッセージを表示します。

<?php
$key = $_GET['key'];
$user = get_user_by( 'email', 'example@example.com' );
$result = check_password_reset_key( $key, $user );
if ( is_wp_error( $result ) ) {
    echo $result->get_error_message();
}
?>

注意点

  • 関数は、ユーザーが提供するデータを扱うため、セキュリティ対策として入力データを適切に検証してください。
  • 関数はget_user_by()wp_redirect()と組み合わせて使用することが一般的です。
  • 無効なキーに対して適切なエラーメッセージをユーザーに提供することが推奨されます。

関連機能: