この回答で説明したように 、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']
)
));
両方のパスワードフィールドが一致するかどうかを確認するためのアクションフックが/wp-admin/includes/user.php
にあります。
add_action( 'check_passwords', function( $user, $pass1, $pass2 )
{
var_dump($pass1);
die();
}, 10, 3 );
ランダムに生成されたパスワードに対する解決策を見つけました。私は新しいユーザーのためにランダムに生成されたパスワードを使っていたので、私は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ステートメントを一番下に置かない限り、あなたの電子メールは送信されず、パスワードは機能しないということでした。だから、ちょうど頭を上げます。