Skip to content

Instantly share code, notes, and snippets.

@FSahinn
Forked from miukimiu/form_registo_wp.php
Created December 26, 2016 19:17
Show Gist options
  • Save FSahinn/91b51e7583dc74f8fdc515795df1c3ef to your computer and use it in GitHub Desktop.
Save FSahinn/91b51e7583dc74f8fdc515795df1c3ef to your computer and use it in GitHub Desktop.
This a register form to wordpress
<?php
/*
** Template Name: Registo
** Este template foi criado pela miukimiu.com
** É um formulário de regsto costumizado para um site wordpress.
*/
get_header(); ?>
<div class="block-9 no-mar content-with-sidebar">
<div class="block-4" id="login">
<h1><?php the_field('titulo_registar', 'options'); ?></h1>
<?php the_field('registar', 'options'); ?>
</div>
<div class="block-1"></div>
<div class="block-4 bg-color-main" id="login_area">
<div class="block-inner">
<div id="login-register-password">
<!-- Form Registar ******* -->
<form name="registerform" id="registerform" action="<?php echo the_permalink(); ?>" method="post" class="wp-user-form">
<?php global $user_ID, $user_identity; get_currentuserinfo(); if (!$user_ID) { ?>
<?php
//if the form is posted we need to validate
if ('POST' == $_SERVER['REQUEST_METHOD']) {
//assign post values to variables
$user_login = $_POST['user_login'];
$user_email = $_POST['user_email'];
$user_pass = $_POST['user_pass'];
$user_pass_confirm = $_POST['user_pass_confirm'];
$phone = $_POST['phone'];
$hospital = $_POST['hospital'];
$ordem = $_POST['ordem'];
$condicoes = $_POST['condicoes']== 'yes';
//initialize a WP_Errror object
$errors = new WP_Error();
//username is required
if ( isset($user_login) && $user_login == '' )
$errors->add('login_required', __('O nome de utilizador é obrigatório.'));
//email is required
if ( isset($user_email) && $user_email == '' )
$errors->add('email_required', __('O campo de email é obrigatório.'));
//email needs to be a valid email
if ( isset($user_email) && !is_email($user_email) )
$errors->add('email_invalid', __('O email é inválido.'));
//passwords must match
if ( ($user_pass != '' && $user_pass_confirm != '') && $user_pass != $user_pass_confirm )
$errors->add('password_mismatch', __('As passwords não são iguais.'));
//password is required
if ( isset($user_pass) && $user_pass == '' )
$errors->add('password_required', __('A password é obrigatória.'));
//confirm password is required
if ( isset($user_pass_confirm) && $user_pass_confirm == '' )
$errors->add('password_confirm_required', __('A campo de confirmação da password tem de ser preenchido.'));
//confirm password is required
if ( isset($user_pass_confirm) && $user_pass_confirm == '' )
$errors->add('password_confirm_required', __('A campo de confirmação da password tem de ser preenchido.'));
//condiçoes is required
if ( isset($condicoes) && $condicoes == '' )
$errors->add('condicoes', __('O campo "Li e aceito o regulamento do concurso" é obrigatório.'));
/*if ( isset($phone) && $phone == '' )
$errors->add('phone', __('O número de telemóvel é obrigatório.'));
if ( isset($hospital) && $hospital == '' )
$errors->add('hospital', __('O número de telemóvel é obrigatório.'));
if ( isset($ordem) && $ordem == '' )
$errors->add('ordem', __('O número de telemóvel é obrigatório.')); */
//if we don't have any errors lets try to insert the user
if(!$errors->get_error_codes())
$errors = $user_id = wp_insert_user(array('user_login' => $user_login, 'user_email' => $user_email, 'user_pass' => $user_pass));
update_usermeta( $user_id, 'phone', $_POST['phone'] );
update_usermeta( $user_id, 'hospital', $_POST['hospital'] );
update_usermeta( $user_id, 'ordem', $_POST['ordem'] );;
//if we still do not have any errors it was a success
if (!is_wp_error($errors)) {
echo '<h3>Registo efectuado com sucesso!</h3>
<p>Irá receber um email com os deus dados de registo</p>
<p>Está a ser direccionado para a área de login...</p>' ;
?>
<script type="text/javascript">
<!--
setTimeout('window.location.href="<?php bloginfo('url'); ?>"', 3000) /* 5 seconds */
//-->
</script>
<?php
$admin_email = get_settings('admin_email');
$headers = 'From: O nome que quiseres!';
$message = "Caro/a $user_login,\n\nO seu registo foi efectuado com sucesso.\n\nNome de usúario: $user_login \nEmail: $user_email \nPassword: $user_pass\nPara fazer login siga este link: http://humira.stgserver2.com/\n\nObrigado,\nMATCH THE GUIDELINESh";
wp_mail( $user_email, 'Registo', $message, $headers);
?>
<?php }else{//output the errors
foreach($errors->errors as $code => $error)
echo '<p>'.$error[0].'</p>';
}
}
?>
<div class="username">
<input type="text" name="user_login" id="user_login_b" class="efeito_form" value="Nome de Utilizador" tabindex="1" />
</div>
<div class="username">
<input type="text" name="user_email" id="user_email" class="efeito_form" value="Email" tabindex="2" />
</div>
<div class="password">
<input id="password-clear" type="text" value="Password" name="user_pass" autocomplete="off" />
<input id="password-password" type="password" value="" name="user_pass" autocomplete="off" />
<!-- <input type="password" name="user_pass" id="user_pass_b" class="input" value="" tabindex="3" />-->
</div>
<div class="password">
<input id="password-clear-b" type="text" value="Confirmação da Password" name="user_pass_confirm" autocomplete="off" />
<input id="password-password-b" type="password" value="" name="user_pass_confirm" autocomplete="off" />
<!-- <input type="password" name="user_pass_confirm" id="user_pass_confirm" class="input" value="" tabindex="4" /></label>-->
</div>
<div class="username">
<input type="text" name="hospital" id="hospital" class="efeito_form" value="Nome do Hospital" tabindex="1" />
</div>
<div class="username">
<input type="text" name="ordem" id="ordem" class="efeito_form" value="Nº da Ordem dos Médicos" tabindex="1" />
</div>
<div class="username">
<input type="text" name="phone" id="phone" class="efeito_form" value="Número de Telemóvel" tabindex="1" />
<label>* Opcional - se pretender receber alertas via SMS, por favor preencha com o seu número de telemóvel</label>
</div>
<div class="username">
<label style="color: #4B9FDE;">Os dados pedidos são para efeitos de controlo de acesso apenas para os profissionais de saúde.</label>
</div>
<?php do_action('register_form'); ?>
<div class="login_fields">
<div class="condicoes">
<label for="condicoes">
<input type="checkbox" name="condicoes" value="yes" id="condicoes" tabindex="13" />
</label>
<div id="termos" style="display:none;">
<div>
<h1 class="thickh">Regulamento</h1>
<?php the_field('regulamento', 'options'); ?>
</div>
</div>
<a href="#TB_inline?inlineId=termos" class="thickbox" title="" style="color:#1A1A1A">Li e aceito o regulamento do concurso</a>
</div>
<input type="submit" name="wp-submit" class="user-submit" value="<?php esc_attr_e('Registar'); ?>" tabindex="14" />
</div>
<ul class="form_links">
<li><a href="<?php bloginfo('url'); ?>/login">> Login</a></li>
<li><a href="<?php bloginfo('url'); ?>/recuperar-password">> Recuperar Password</a></li>
</ul>
</form>
</div>
<?php } else { // is logged in
echo '<p>A entrar...</p>'; ?>
<script type="text/javascript">
<!--
window.location = "<?php bloginfo('url'); ?>/home"
//-->
</script>
<?php
} ?>
</div>
<!-- Custom Login/Register/Password Code @ http://digwp.com/2010/12/login-register-password-code/ -->
</div>
</div>
<!-- /Content -->
<div class="clear anti-mar">&nbsp;</div>
<?php get_footer(); ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment