如何将自定义域添加到我的自定义注册表

时间:2012-09-17 作者:Demilio

我正在尝试将名字、姓氏和公司名称添加到我的自定义注册页面。登记表几乎可以使用,但存在一个问题。

到目前为止,我已经获得了以下代码,但我无法注册名字、姓氏和公司名称。谁能帮帮我吗?

<?php if(!is_user_logged_in()) { ?>


<?php
if(get_option(\'users_can_register\')) {
//Check whether user registration is enabled by the administrator
?>

<?php

if($_POST)

    {
    //We shall SQL escape all inputs
    $username = $wpdb->escape($_REQUEST[\'username\']);
    if(empty($username)) {
        echo "ERROR... please type username";
        exit();
    }
    $email = $wpdb->escape($_REQUEST[\'email\']);
    if(!preg_match("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,4})$/", $email)) {
        echo "ERROR... please valid email";
        exit();
    }
    $first_name = $wpdb->escape($_REQUEST[\'first_name\']);
    if(empty($first_name)) {
        echo "ERROR... please add first name";
        exit();
    }
    $last_name = $wpdb->escape($_REQUEST[\'last_name\']);
    if(empty($last_name)) {
        echo "ERROR... please add last name";
        exit();
    }
    $companyname = $wpdb->escape($_REQUEST[\'companyname\']);
    if(empty($companyname)) {
        echo "ERROR... please add company name";
        exit();
    }





    $pass1 = $wpdb->escape($_REQUEST[\'pass1\']);
$pass2 = $wpdb->escape($_REQUEST[\'pass2\']);
if ($pass1 != $pass2){
    echo "ERROR... password\'s does\'nt mach";
        exit();

}
$random_password = $pass1;
    $status = wp_create_user( $username, $random_password, $email );
    if ( is_wp_error($status) )
        echo "ERROR... username allready exist\'s";
    else {
        $from = get_option(\'admin_email\');
        $headers = \'Fra: \'.$from . "\\r\\n";
        $subject = "Registreringen er fullført";
        $msg = "Hi, you are now registered. Here is your username and password:\\n\\n$username\\n$random_password";
        wp_mail( $email, $subject, $msg, $headers );
        echo "Thank you for registering. You can now log inn.";
    }

    exit();

} else {
//Embed the register form and javascript here

?>


<div id="result"></div>


<form id="wp_signup_form" action="" method="post">

<div>
<strong>Username:</strong><br />
<input type="text" name="username" style="width:350px; margin-bottom:3px;"><br />
</div>

<div>
<strong>First name:</strong><br />
<input type="text" name="first_name" id="first_name" style="width:350px; margin-bottom:3px;"><br />
</div>

<div>
<strong>Last name:</strong><br />
<input type="text" name="last_name" id="last_name" style="width:350px; margin-bottom:3px;"><br />
</div>

<div>
<strong>Companyname:</strong><br />
<input type="text" name="companyname" id="companyname" style="width:350px; margin-bottom:3px;"><br />
</div>

<div>
<strong>E-mail</strong><br />
<input type="text" name="email" style="width:350px; margin-bottom:3px;"><br />
</div>

<div>
<strong>Password:</strong><br />
<input id="password" class="input" type="password" value="Passord" name="pass1" style="width:350px; margin-bottom:3px;" /><br />
</div>
<div>
<strong>Repeat password:</strong><br />
<input id="repeat_password" class="input" type="password" name="pass2" style="width:350px; margin-bottom:3px;" /><br />
</div>

<input type="submit" id="submitbtn" name="submit" value="Register" class="knapp" style="padding:8px;">
</form>
<script type="text/javascript">                         
$("#submitbtn").click(function() {
$(\'#result\').html(\'<img src="<?php bloginfo(\'template_url\'); ?>/images/loader.gif" class="loader" />\').fadeIn();
var input_data = $(\'#wp_signup_form\').serialize();
$.ajax({
type: "POST",
url:  "<?php echo "http://" . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\']; ?>",
data: input_data,
success: function(msg){
$(\'.loader\').remove();
$(\'
<div>\').html(msg).appendTo(\'div#result\').hide().fadeIn(\'slow\');
}
});
return false;

});
</script>
<?php
// embedded

}
?>

<?php
    }

else 
?>

<!-- regskjema end -->
<br />
<?php } else { ?>
You are allready registered and logged inn. <a href="<?php bloginfo(\'url\'); ?>/profilside">Click here</a> to load your profilepage.
<?php } ?>

1 个回复
SO网友:kaiser

wp_login_form() 对于此类情况。它提供了大量的挂钩来扩展它。

// In your template
wp_login_form( array( /* Args: refer to Codex page */ ) );
更深入地了解过滤器,可以be found here @GitHub WP Core source.

  • \'login_form_top\' - 在上面login-username
  • \'login_form_middle\' - 在上面login-submit
  • \'login_form_bottom\' - 在下面login-submit

    如果您仍然想用AJAX完成整个工作,那么我建议您将事件侦听器/处理程序注册到id_submit (上面模板标记中使用的参数)。在那里你可以轻松return false; 或使用event.preventDefault(); 禁用重定向并滚动您自己的注册(复制核心)。

结束

相关推荐

Menu page with list of users

我需要一种方法来创建一个菜单页面,其中包含所有用户的列表,以便于管理。该列表将由无权访问“用户”菜单页的用户使用。页面需要有每个用户的用户ID、名称、注册日期、昵称、用户级别和用户角色你知道如何做到这一点吗?欢迎任何参考文档或教程。