我正在尝试使用user\\u register挂钩以纯文本形式输出新创建用户的密码,如前所述in this answer. 然而,在对$\\u POST进行var\\u转储时,我没有看到任何密码输出。user\\u register实际上可以做到这一点吗?
如果没有,您是否有什么想法可以为新用户实现这一点?
感谢您的任何见解!
Edit: Below is the code that I\'m using, along with the var_dump
我用于密码的代码来自this accepted answer.
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\']
)
));
最合适的回答,由SO网友:brasofilo 整理而成
有一个动作挂钩/wp-admin/includes/user.php
要检查两个密码字段是否匹配,请执行以下操作:
add_action( \'check_passwords\', function( $user, $pass1, $pass2 )
{
var_dump($pass1);
die();
}, 10, 3 );
SO网友:neanderslob
找到了随机生成密码的解决方案。因为我为新用户使用随机生成的密码,所以我需要实现random\\u密码挂钩。我是从this answer. 我是如何实现它的,请参见下文:
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;
}
当我第一次使用它时,有一件事让我有些困惑,那就是,除非你在底部写上返回声明,否则你的电子邮件不会发送,密码也不会起作用。所以,请大家抬起头来。