用户注册时如何编程读取计划文本密码?

时间:2018-08-23 作者:I am the Most Stupid Person

我有密码来检查密码的强度。它返回密码的强度。

我想要的是,我想在用户注册时读取计划文本密码。然后,我需要将该密码传递给我的代码,并将密码的强度存储到用户meta。

我面临的问题是,当用户注册网站时,我找不到任何操作/过滤器来读取密码。

1 个回复
最合适的回答,由SO网友:anmari 整理而成

有一个动作https://developer.wordpress.org/reference/hooks/check_passwords/ 可用于添加检查代码。

您可以通过将“强度指标”添加到$\\u POST中,然后在保存用户数据时重新访问它来保存“强度指标”。为此采取的措施包括https://codex.wordpress.org/Plugin_API/Action_Reference/user_registerhttps://codex.wordpress.org/Plugin_API/Action_Reference/profile_update.

这些操作列在https://codex.wordpress.org/Plugin_API/Action_Reference. 或者,在寻找操作或过滤器以满足您的编码需求时,您可以始终查看代码。滚动或在文件中搜索“do\\u action”和“apply\\u filters”,您将看到可用的内容以及调用的时间。

有趣的是,WP有一个“pw\\u弱”复选框,在全局搜索中,它似乎不会在任何地方得到处理,但如果他们勾选了它,它应该在$\\u POST变量中。在user\\u register(用户注册)或profile\\u update(个人资料更新)上,您可能会检查并将其用作弱/强指示器?

这项工作:

function store_weak ($user_id) {
        if ( isset( $_POST[\'pw_weak\'] ) )
            update_user_meta($user_id, \'password_strength\', \'weak\');
        else 
            update_user_meta($user_id, \'password_strength\', \'strong\');
}
add_action (\'profile_update\', \'store_weak\', 10 ,1 );
add_action (\'user_register\', \'store_weak\', 10 ,1 );
这也适用于:

function check_strength () {
    $_POST[\'strength_level\'] = \'medium\'; // or whatever
}

function store_weak ($user_id) {
    if ( isset( $_POST[\'strength_level\'] ) ) {
            update_user_meta($user_id, \'strength_level\', sanitize_text_field($_POST[\'strength_level\']));
        }
}
add_action (\'check_passwords\', \'check_strength\', 10 ,1 );\'

结束

相关推荐

从具有序列化值的元键获取GET_USERS

我想做一个get_users() 当元键有两个值时。例如,在db中,它如下所示:a:2:{i:0;s:10:\"31.08.2017\";i:1;s:9:\"username\";} 当我进行查询时:$claimed_users = get_users(\'meta_key=username\'); 并尝试输出它:print_r($claimed_users);它刚刚回来Array().我做错了什么?有没有更好的方法?