web-dev-qa-db-ja.com

User_registerはパスワードを出力できますか?

この回答で説明したように 、user_registerフックを使用して、新しく作成したユーザーのパスワードをプレーンテキストで出力しようとしています 。しかし、$ _POSTのvar_dumpを実行しても、パスワードが出力されません。 user_registerは実際にこれを実行できますか?

そうでなければ、あなたは新しいユーザーのためにこれを行うだろうフックに何かアイデアがありますか?

任意の洞察力をありがとう!

編集:私が使っているコードは、var_dumpと一緒です。
私がパスワードに使っているコードは、この この受け入れられた答えからのものです

add_action('user_register', 'registration_save');

function registration_save($user_id){
    global $wpdb;
    echo "user saved";
    ob_start();
    var_dump($_POST);
    $result = ob_get_clean();
    echo file_put_contents("file_put_test.txt","Hello World".$result."Password: ".$_POST['pass1']);
    $result = $wpdb->query($wpdb->prepare("REPLACE INTO test
                                          (user,newpass)
                                          values(%s,%s)",
                                          array(
                                              $_POST['username'],
                                              $_POST['pass1']
                                            )
    ));
2
neanderslob

両方のパスワードフィールドが一致するかどうかを確認するためのアクションフックが/wp-admin/includes/user.phpにあります。

add_action( 'check_passwords', function( $user, $pass1, $pass2 ) 
{
    var_dump($pass1);
    die();
}, 10, 3 );
1
brasofilo

ランダムに生成されたパスワードに対する解決策を見つけました。私は新しいユーザーのためにランダムに生成されたパスワードを使っていたので、私はrandom_passwordフックを実装する必要がありました。私はこの答えからアイデアを得ました。実装方法については、以下を参照してください。

add_filter('random_password', 'random_pass_save');
function random_pass_save($pass){
    echo file_put_contents("random_pass_save.txt", "Hello world, here's my saved random pass ".$pass);
    return $pass;
}

私が最初に使ったとき私がつまずいたことの1つは、あなたがreturnステートメントを一番下に置かない限り、あなたの電子メールは送信されず、パスワードは機能しないということでした。だから、ちょうど頭を上げます。

1
neanderslob