wp_check_password()


WordPress関数wp_check_password()は、指定された平文パスワードがハッシュ化されたパスワードと一致するかを確認するために使用されます。

シンタックス

wp_check_password( string $password, string $hash, int $user_id );

引数の説明:

  • $password (string) — 確認したい平文のパスワード。
  • $hash (string) — データベースに保存されているハッシュ化されたパスワード。
  • $user_id (int) — パスワードを確認する対象ユーザーのID。

例 1: パスワードの一致確認

指定されたユーザーのパスワードを確認します。

<?php
$user = get_user_by( 'email', 'example@example.com' );
if ( wp_check_password( 'password123', $user->data->user_pass, $user->ID ) ) {
    echo 'パスワードが一致しました。';
} else {
    echo 'パスワードが一致しません。';
}
?>

例 2: ユーザー認証処理

ログインフォームの入力を基にユーザーを認証します。

<?php
$username = 'example_user';
$password = 'password123';
$user = get_user_by( 'login', $username );
if ( $user && wp_check_password( $password, $user->data->user_pass, $user->ID ) ) {
    echo 'ログイン成功。';
} else {
    echo 'ログイン失敗。';
}
?>

例 3: パスワード変更前の確認

古いパスワードが正しいか確認した後で新しいパスワードを設定します。

<?php
$current_password = 'old_password';
$new_password = 'new_password123';
$user = wp_get_current_user();
if ( wp_check_password( $current_password, $user->data->user_pass, $user->ID ) ) {
    wp_set_password( $new_password, $user->ID );
    echo 'パスワードが変更されました。';
} else {
    echo '現在のパスワードが正しくありません。';
}
?>

注意事項:

  • 関数wp_check_password()は、必ず安全な通信(SSL/TLS)を使用して呼び出してください。
  • パスワードのハッシュ化はWordPressの内部アルゴリズムによって行われるため、独自に変更しないでください。

関連機能: