Разработка пользовательской страницы регистрации WordPress || Не работает - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу создать пользовательскую страницу регистрации на сайте 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...