Я хочу создать пользовательскую страницу регистрации на сайте WordPress
Я создал страницу, используя Bootstrap. Ниже приведен сценарий:
<?php
/*
** Template Name: Custom Register Page
*/
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link href="https://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.2/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var blackLine = $(".black-line"),
ball = $(".main-container"),
mainForm = $(".main-forms"),
top = $(".pokemon-top-part"),
bottom = $(".pokemon-bottom-part"),
h = $(".sign-back h1"),
row = $(".signup-row"),
arrow = $(".signup-row a"),
rem = $(".remember"),
tl = new TimelineMax();
// Start
tl
.to(blackLine, 0.5, {
className: '+=red-circle'
})
.to(blackLine, 0.5, {
className: '-=red-circle'
})
.to(blackLine, 0.5, {
className: '+=red-circle'
})
.to(blackLine, 0.5, {
className: '-=red-circle'
})
.to(blackLine, 0.5, {
className: '+=red-circle'
})
.to(blackLine, 0.5, {
className: '-=red-circle'
})
.to(ball, 0.5, {
y: "-70%",
ease: Power4.easeOut
})
.to(ball, 0.5, {
y: "-50%",
ease: Bounce.easeOut
})
.to(ball, 0.5, {
y: "-85%",
ease: Power4.easeOut
}, "+=0.5")
.to(ball, 0.5, {
y: "-50%",
ease: Bounce.easeOut
})
.to(ball, 0.5, {
y: "-100%",
ease: Power4.easeOut
}, "+=0.5")
.to(ball, 0.5, {
y: "-50%",
ease: Bounce.easeOut,
onComplete: toggle
});
function toggle(o) {
$(".main-forms").slideDown(1500);
tl
.to(top, 1, {
autoAlpha: 0
})
.to(bottom, 1, {
autoAlpha: 0
}, "-=1")
.fromTo(h, 1, {
autoAlpha: 0,
y: -20
}, {
autoAlpha: 1,
y: 0
}, "+=0.5")
.staggerFrom(row, 1, {
left: "-100%",
autoAlpha: 0
}, 0.2)
.staggerFrom(rem, 1, {
cycle: {
y: [20, -20]
},
autoAlpha: 0
}, 0.2)
}
})
</script>
<style>
html {
height: 100vh;
}
body {
font-family: 'Ubuntu', sans-serif;
background: url("https://lh3.googleusercontent.com/ohXfK_gejGdGoxN7Vzf2hE9EWsvXhR9AnPlRqylsbhSFn1hU2pDZ4dkG8Q8Wj8cd4g9hVGShd2X7qBSTkbWiX-2UmhH44u_-M4xpO2nMBYsi0ymKeMpfZFOMWXtTJW28YdTjVquwquv9pTTCBFpTnG_C8euEUgO08mXO63oDcqIN9bmSvh5B8MUDw2MJ_oYAMJoCi8UeI9nvfs7z3UbcQQPNYHyXgi0wKW9aMmz8ogaRUPHf5Z7tKv9Am8my9XsleXNzeZjlTY7qobFffw5xwpNBUGNYdPWfkF-XWQyhrcJsESwGFHUlFDtVvU_V6IOgHA-jZmnmu8e3_wBA50VTO713U-DoDMjhZliK1qSUoR9FBxcPE7Z_O3kVk9v5qFUgwO2wmybVKDmH9gn55vDnBEiHCr-0cfKJgJHYlgIFm3fwguGYtIEpYK5ucGAxjz_NPcM5fw9BNQ-M67dyM5eY9Tdav198oMNTAJLKGmdaEG4v8UqRsxk5hyFhOWeufn6vuaG2TrxB9_kDR5gaYroneuDaYB9CySvKyXo_AmqA3po7mGl8W0HBphFHzOPkfFqyGdpTfeJNurtKuuV99cb57kHxwieMwWCPwUNRFzZwOByzNyfcPkeVMgy8z7tpYj6Eb9SUpt8Y-6j9-Qj9lfxnHJNTZ0CTzxvJ-N_Mwya-YA=w1135-h638-no") no-repeat;
background-size: cover;
height: 100vh;
margin: 0;
overflow: hidden;
}
.main-container {
width: 500px;
margin: 0 auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.pokemon-top-part {
width: 200px;
height: 100px;
background: #F22613;
margin: 0 auto;
border-radius: 200px 200px 0 0;
border: 5px solid #333;
}
.pokemon-bottom-part {
position: relative;
}
.white-part {
width: 200px;
height: 100px;
background: #ffffff;
margin: 0 auto;
border-radius: 0 0 200px 200px;
border: 5px solid #333;
}
.black-line {
width: 210px;
height: 25px;
background: #333;
margin: 0 auto;
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -50%);
}
.black-line::after {
content: '';
width: 50px;
height: 50px;
background: #333;
border-radius: 50%;
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -25%);
}
.black-line::before {
content: '';
width: 30px;
height: 30px;
background: #fff;
border-radius: 50%;
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -2px);
z-index: 999;
}
.signup-form {
background: url("https://lh3.googleusercontent.com/6ObGgH3qiiOYrkZyd2dsxvvaulkjw2h-RF-I9764grYVGxz6dM_SYOW7EfUkvTIgUxtKOmpnYBrH0tDkJvsoYGLPYtAfgs_hM06Oyxo2QyiB19nNAOA0lqgQAX5Pf1i7qjCCN54cJnGW3jsmA2YbhHaL3cMSdKY8hzOk7QGXxyAALPANU-aQs88FlS9RT8uaL59K4yhFFHBhZzTZ9aj3dWxgrT0FRJy5fQJjM6qEZTnsrAc9cstFsyyYX7tHSQasMc9ER7ypAQjPHqj9gxEjLz4DDPFgY4vBx_3XgQ-fD5QdxCR3N5XuxFfovbeKwI2sPCfr4uP2IhNW684qPHD2uH1GCE1FQ8JZt8IXpsNevzVE0yNOmFGcHa064wGkTPCtjTQcZ0Y6KOnqBUDfKWqt5UkkKGz_C5QM3sDuMUHa6cNmwejLkF-RDrWNnPr_-6MYIziztw7ExYZYJ71HWEyPNRqREeSO6wgw2O38OyzTwE_eJ4K0KOYyqVGL8Jw9tn6bKpLJsoVtQ17rXg0N57uG41Jqa-P5q8AltDWmsePSzBstx5pAFbcrRkizwESHAlV_JnsYcNeIFUZTOSKDxZuvlafr9PVK3dbIdEp1EHz6QnM_6MCXRSaaP3Nu9FocxRd_nlOGDG1X-_sBpXLsmooM7bGmopx1HzUux9ROKzPyJg=w1135-h638-no") no-repeat;
background-size: cover;
border-radius: 10px;
}
.sign-back {
background: linear-gradient(rgba(255, 202, 0, 0.4), #FFCA00 40%);
border-radius: 10px;
padding: 65px 0;
}
.sign-back h1 {
text-transform: uppercase;
text-align: center;
color: #fff;
margin-top: 0;
letter-spacing: 5px;
text-shadow: 1px 1px 1px #333
}
.signup-row {
text-align: center;
margin: 20px 0;
position: relative;
}
.signup-row input {
padding: 5px 0;
border: 0;
border-bottom: 1px solid #fff;
background: transparent;
width: 50%;
text-align: center;
outline: none;
color: #fff;
font-family: 'Ubuntu', sans-serif;
}
.signup-row input::-webkit-input-placeholder {
color: #fff;
text-shadow: 1px 1px 1px rgba(51, 51, 51, 0.6)
}
.signup-row i {
color: #fff;
position: relative;
left: 20px;
text-shadow: 1px 1px 1px rgba(51, 51, 51, 0.6)
}
.signup-row a {
font-size: 40px;
text-decoration: none;
}
.signup-row a i {
left: 0;
}
.form-bottom {
display: flex;
justify-content: center;
}
.remember:not(:last-child) {
margin-right: 30px;
color: #af942d;
}
.remember:not(:last-child):hover {
margin-right: 30px;
color: #fff;
transition: all 500ms;
}
.remember a {
text-decoration: none;
color: #af942d;
transition: all 500ms;
}
.remember a:hover {
text-decoration: none;
color: #fff;
}
input[type="checkbox"] {
position: relative;
top: 1px;
transition: all 500ms;
}
.main-forms {
overflow: hidden;
display: none;
position: relative;
}
.red-circle::before {
background: #F22613;
}
.input[type=submit] {
background-color: #FFFFFF;
border-radius: 25px;
color: black;
padding: 8px 8px;
text-decoration: none;
cursor: pointer;
}
</style>
</head>
<body>
<audio autoplay>
<source src="http://s2.3lbh.com/s/87EJ97gi.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<!-- Start Main Container -->
<div class="main-container">
<!-- Start Pokemon Ball Top Part -->
<div class="pokemon-top-part"></div>
<!-- End Pokemon Ball Top Part -->
<!-- Start Main Forms -->
<div class="main-forms">
<div class="signup-form">
<form class="sign-back" action="" method="post">
<h1>sign UP</h1>
<div class="signup-row">
<i class="fa fa-user-plus"></i>
<input type="text" name="txtUsername" id="txtUsername" value="" placeholder="Username*">
</div>
<div class="signup-row">
<i class="fa fa-user"></i>
<input type="text" name="txtFullName" id="txtFullName" value="" placeholder="Full Name*">
</div>
<div class="signup-row">
<i class="fa fa-envelope-o"></i>
<input type="email" name="txtEmail" id="txtEmail" value="" placeholder="Email*">
</div>
<div class="signup-row">
<i class="fa fa-key"></i>
<input type="password" name="txtPassword" id="Password" value="" placeholder="Password*">
</div>
<div class="signup-row">
<i class="fa fa-key"></i>
<input type="password" name="txtConfirmPassword" id="ConfirmPassword" value="" placeholder="Confirm Password*">
</div>
<div class="signup-row">
<button type="submit" name="btnSubmit"></button>
</div>
<div class="form-bottom">
<div class="remember">
<input type="checkbox" name="" value="">
<span>Remember Me</span>
</div>
<div class="remember">
<a href="https://www.otakutales.xyz/log-log-1/">Already Have Account ?</a>
</div>
</div>
<center>
<p style="color:white"> By Signing-Up you accept ©OtakuTales <br> <a href="https://www.otakutales.xyz/privacy-policy/">Privacy Policy</a> </P>
</center>
</form>
</div>
</div>
<!-- End Main Forms -->
<!-- Start Pokemon Ball Bottom Part -->
<div class="pokemon-bottom-part">
<div class="white-part"></div>
<div class="black-line"></div>
</div>
<!-- End Pokemon Ball Bottom Part -->
</div>
<!-- End Main Container -->
<!-- Start Scripts -->
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<script src="https://use.fontawesome.com/7dddae9ad9.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.2/TweenMax.min.js"></script>
<script type="text/javascript" src="main.js"></script>
<!-- End Scripts -->
</body>
</html>
<?php if(isset($signUpError)){echo '<div>'.$signUpError.'</div>';}?>
<?php
global $wpdb, $user_ID;
if (!$user_ID) {
//All code goes in here.
if (isset($_POST['user_registeration']))
{
//registration_validation($_POST['txtUsername'], $_POST['txtEmail']);
global $reg_errors;
$reg_errors = new WP_Error;
$username=$_POST['txtUsername'];
$fullname=$_POST['txtFullName'];
$useremail=$_POST['txtEmail'];
$password=$_POST['txtPassword'];
$confirmpassword=$_POST['txtConfirmPassword'];
if(empty( $username ) || empty($fullname) || empty($useremail) || empty( $password ) || empty($confirmpassword))
{
$reg_errors->add('field', 'All form fields are required');
}
if ( 6 > strlen( $username ) )
{
$reg_errors->add('username_length', 'Username too short. At least 6 characters is required' );
}
if ( username_exists( $username ) )
{
$reg_errors->add('user_name', 'The username you entered already exists!');
}
if ( ! validate_username( $username ) )
{
$reg_errors->add( 'username_invalid', 'The username you entered is not valid!' );
}
if ( !is_email( $useremail ) )
{
$reg_errors->add( 'email_invalid', 'Email id is not valid!' );
}
if ( email_exists( $useremail ) )
{
$reg_errors->add( 'email', 'Email Already exist!' );
}
if ($password != $confirmpassword)
{
$reg_errors->add( 'password_unmatched', 'Password does not match!' );
}
if ( 5 > strlen( $password ) ) {
$reg_errors->add( 'password', 'Password length must be greater than 5!' );
}
if (is_wp_error( $reg_errors ))
{
foreach ( $reg_errors->get_error_messages() as $error )
{
$signUpError='<p style="color:#FF0000; text-aling:left;"><strong>ERROR</strong>: '.$error . '<br /></p>';
}
}
if ( 1 > count( $reg_errors->get_error_messages() ) )
{
// sanitize user form input
global $username, $useremail;
$username = sanitize_user( $_POST['txtUsername'] );
$useremail = sanitize_email( $_POST['txtEmail'] );
$password = esc_attr( $_POST['txtPassword'] );
$confirmpassword = esc_attr( $_POST['txtConfirmPassword'] );
$userdata = array(
'user_login' => $username,
'user_email' => $useremail,
'user_pass' => $password,
'show_admin_bar_front' => 'false',
);
$user = wp_insert_user( $userdata );
}
}
}
else {
$url='https://www.otakutales.xyz/log-log-1/'
wp_redirect($url);
exit;
}
?>
Это код, над которым я работал, чтобы создать пользовательскую страницу, но он не проверяется ... после того, как пользователь вводит детали и нажимает sumit, он снова перенаправляется на эту страницу. страница и база данных не обновляются ... Мне нужна помощь ... По мне код должен прекрасно работать, но это не так!
МОЙ САЙТ : https://www.otakutales.xyz