如果通过将输入的值传递给组合这些值的函数来创建用户,则可以从另一个调用wp_insert_user. 然后,您可以根据需要保存用户名/密码,并在为WP准备登录时使用相同的函数和表单。以下所有代码仅用于演示。这一点怎么强调都不过分。一定要查看nonce并验证注册。
再说一次,这是ONLY a demo of the idea 指向大致方向。
<form>
<input type="text" name"value1" />
<input type="text" name"value2" />
<input type="text" name"value3" />
</form>
然后,我们有一个函数来处理条目的组合:
<?php
function getting_posted_values() {
if(isset($_POST[\'value1\']) && (isset($_POST[\'value2\']) && (isset($_POST[\'value3\']) {
$value1 = $_POST[\'value1\'];
$value2 = $_POST[\'value2\'];
$value3 = $_POST[\'value3\'];
$new_value = $value1 . $value2 . $value3;
}
return $new_value;
}
然后是一个钩住的函数-(例如,如果您使用Contact Form 7管理表单,您可以钩住
wpcf7_before_send_mail 并访问post对象。)-可以调用以下函数并生成新用户:
function build_a_new_user($posted_form) {
$new_value = getting_posted_values($posted_form);
$userdata = array(
\'user_login\' => $new_value,
\'user_pass\' => $new_value, //normally: wp_generate_password( 12, false );
\'user_email\' => //note: not sure but may be required?
\'nickname\' => $new_value,
\'display_name\' => $new_value,
\'first_name\' => $new_value,
\'last_name\' => $new_value,
\'role\' => \'subscriber\'
);
wp_insert_user($userdata);
}
wp_insert_user() is documented here.
More on handling custom registration here.
对于登录
值为1,2,3的表单将通过在另一个连接到登录的函数中调用来再次运行get\\u post\\u值。也许
login_form_defaults filter 可以编辑表单的args数组。以下是完全的推测
non-working example.
但是,如果您可以将这些值传递给WP的正常过程(可能通过authenticate 链接示例中提到的过滤器?)作为用户/通行证,您可以放弃自己进行检查。
function log_in_handler($posted_form) {
$pass_and_username = getting_posted_values($posted_form);
$args_array = array(
\'username_id\' => $pass_and_username,
\'password\' => $pass_and_username);
}
这绝对是一个有趣的尝试。希望这有帮助。