get_password_reset_key()


WordPress関数get_password_reset_key()は、パスワードリセットリンクを生成するために使用される関数です。この関数は、指定されたユーザーに関連付けられた一時的なリセットキーを取得します。

シンタックス

get_password_reset_key( WP_User $user );

引数の説明

  • $user (WP_User) — パスワードリセットキーを生成する対象のユーザーオブジェクト。

注意事項

  • この関数は、ユーザーが有効であり、かつそのメールアドレスが登録済みである必要があります。
  • この関数は、ユーザーがパスワードリセットプロセスを開始できるかどうかも確認します。

例1: パスワードリセットキーを取得する

指定されたユーザーのパスワードリセットキーを取得します。

<?php
$user = get_user_by( 'email', 'user@example.com' );
if ( $user ) {
    $reset_key = get_password_reset_key( $user );
    echo $reset_key;
}
?>

例2: パスワードリセットURLを生成する

取得したリセットキーを使ってURLを生成します。

<?php
$user = get_user_by( 'email', 'user@example.com' );
if ( $user ) {
    $reset_key = get_password_reset_key( $user );
    if ( ! is_wp_error( $reset_key ) ) {
        $reset_url = site_url( "wp-login.php?action=rp&key=$reset_key&login=" . rawurlencode( $user->user_login ) );
        echo $reset_url;
    }
}
?>

例3: パスワードリセットメールの送信

ユーザーにパスワードリセット用のメールを送信します。

<?php
$user = get_user_by( 'email', 'user@example.com' );
if ( $user ) {
    $reset_key = get_password_reset_key( $user );
    if ( ! is_wp_error( $reset_key ) ) {
        $reset_url = site_url( "wp-login.php?action=rp&key=$reset_key&login=" . rawurlencode( $user->user_login ) );
        $message = "以下のリンクをクリックして、パスワードをリセットしてください: $reset_url";
        wp_mail( $user->user_email, 'パスワードリセット', $message );
    }
}
?>

例4: リセットキーのエラー処理

リセットキー生成中のエラーを処理します。

<?php
$user = get_user_by( 'email', 'user@example.com' );
if ( $user ) {
    $reset_key = get_password_reset_key( $user );
    if ( is_wp_error( $reset_key ) ) {
        echo 'エラー: ' . $reset_key->get_error_message();
    }
}
?>

注意事項

  • この関数は管理者向けに設計されています。一般ユーザーが直接使用しないようにしてください。
  • 生成されたリセットキーはセキュリティ上の重要な情報です。適切に管理してください。

関連機能: