وبگرانآموزش وردپرسکد های وردپرسساخت صفحه عضویت در وردپرس بدون افزونه

ساخت صفحه عضویت در وردپرس بدون افزونه

ساخت صفحه عضویت در وردپرس بدون افزونه

در این مقاله آموزشی قصد داریم ساخت صفحه عضویت در وردپرس را بدون استفاده از نصب افزونه جانبی به شما آموزش دهیم.

می دانیم که برای این کار افزونه های بی شماری نیز در اینترنت وجود دارد که ممکن است کار را بسیار راحتر کند ولی به دلیل سنگین کردن و شخصی سازی دشواری که وجود دارد قصد داریم در وبگران ساخت صفحه عضویت با استفاده از کد را به شما نشان دهیم:

ساخت صفحه عضویت در وردپرس بدون افزونه

این را نیز بگوییم که به صورت پیش فرض صفحه ثبت نام و عضویت و حتی فراموشی رمز عبور هم وجود دارد که لین آن ها را در زیر به ترتیب آورده ایم.

echo site_url('/wp-login.php?action=register');
echo site_url('/wp-admin');
echo wp_lostpassword_url();

ولی اینها صفحات پیش فرض وردپرس هستند و برای اینکه بتوانیم صفحه کاملا شخصی تری را بسیازیم باید مراحل زیر را انجام دهید:

  • ساخت یک برگه در قسمت پیشخوان وردپرس -> برگه ها
  • تبدیل کردن این برگه به قالب سفارشی
  • افزودن کد ها برای صفحه ثبت نام
  • استایل دادن دلخواه به صفحه مورد نظر ( استایل پیش فرض بوت استرپ ۴ را قرار داده ایم )

برای اینکه یک قالب برگه سفارشی بسازید کد زیر را به اول فایل خود اضافه کنید:

<?php
/*
Template Name: فرم عضویت
*/
?>

و این هم کدهایی که باید در فایل مورد نظر خود اضافه کنید:

<?php
   $err = '';
   $success = '';

   global $wpdb, $PasswordHash, $current_user, $user_ID;

   if(isset($_POST['task']) && $_POST['task'] == 'register' ) {

       $pwd1 = $wpdb->escape(trim($_POST['pwd1']));
       $pwd2 = $wpdb->escape(trim($_POST['pwd2']));
       $first_name = $wpdb->escape(trim($_POST['first_name']));
       $last_name = $wpdb->escape(trim($_POST['last_name']));
       $email = $wpdb->escape(trim($_POST['email']));
       $username = $wpdb->escape(trim($_POST['username']));

       if( $email == "" || $pwd1 == "" || $pwd2 == "" || $username == "" || $first_name == "" || $last_name == "") {
           $err = 'لطفا تمامی فیلدهای الزامی را تکمیل نمایید.';
       } else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
           $err = 'آدرس ایمیل نامعتبر است!';
       } else if(email_exists($email) ) {
           $err = 'این ایمیل قبلا در سایت ثبت شده است.';
       } else if($pwd1 <> $pwd2 ){
           $err = 'کلمات عبور با یکدیگر مطابقت ندارند.';
       } else {

           $user_id = wp_insert_user( array ('first_name' => apply_filters('pre_user_first_name', $first_name), 'last_name' => apply_filters('pre_user_last_name', $last_name), 'user_pass' => apply_filters('pre_user_user_pass', $pwd1), 'user_login' => apply_filters('pre_user_user_login', $username), 'user_email' => apply_filters('pre_user_user_email', $email), 'role' => 'subscriber' ) );
           if( is_wp_error($user_id) ) :
               $err = 'این نام کاربری قبلا به ثبت رسیده است!';
           else :
               do_action('user_register', $user_id);
               $success = 'نام نویسی شما با موفقیت به اتمام رسید، از شما ممنویم.';

                endif;

       }

   }
   ?>


<div class="container">
  <div class="row">
    <div class="entry-title text-center">
      <h1><?php the_title(); ?></h1>
    </div>
  </div>
</div>
<div class="register">
  <div class="container">

    <div id="primary" class="site-content">
       <div id="content" role="main">
          <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
          <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

             <div class="entry-content">
                <div id="message">
                   <?php
                      if(! empty($err) ) :
                          echo '<p class="error alert alert-danger">'.$err.'</p>';
                      endif;
                      ?>
                   <?php
                      if(! empty($success) ) :
                        echo '<p class="error alert alert-success">'.$success.' برای ورود به سایت روی <a href="https://diacobin.com/login/">اینجا</a> کلیک کنید</p>';
                      endif;
                      ?>
                </div>
                <form method="post">
                  <div class="row">
                    <div class="form-group col-lg-6">
                      <label for="first_name">نام</label>
                      <input class="form-control" type="text" value="<?php echo isset($_POST['first_name']) ? $_POST['first_name'] : '' ?>" name="first_name" id="first_name" />
                    </div>
                    <div class="form-group col-lg-6">
                      <label for="first_name">نام خانوادگی</label>
                      <input class="form-control" type="text" value="<?php echo isset($_POST['last_name']) ? $_POST['last_name'] : '' ?>" name="last_name" id="last_name" />
                    </div>
                  </div>
                  <div class="row">
                    <div class="form-group col-lg-6">
                      <label for="first_name">نام کاربری</label>
                      <input required="required" class="form-control" type="text" value="<?php echo isset($_POST['username']) ? $_POST['username'] : '' ?>" name="username" id="username" />
                    </div>
                    <div class="form-group col-lg-6">
                      <label for="first_name">آدرس ایمیل</label>
                      <input required="required" class="form-control" type="text" value="<?php echo isset($_POST['email']) ? $_POST['email'] : '' ?>" name="email" id="email" />
                    </div>
                  </div>
                  <div class="row">
                    <div class="form-group col-lg-6">
                      <label for="first_name">رمز عبور</label>
                      <input required="required" class="form-control" type="password" value="" name="pwd1" id="pwd1" />
                    </div>
                    <div class="form-group col-lg-6">
                      <label for="first_name">تکرار رمز عبور</label>
                      <input required="required" class="form-control" type="password" value="" name="pwd2" id="pwd2" />
                    </div>
                  </div>
                   <button type="submit" name="btnregister" class="btn button btn-block" >ثبت نام</button>
                   <input type="hidden" name="task" value="register" />
                </form>
             </div>
             <!-- .entry-meta -->
          </article>
          <?php endwhile; ?>
          <?php endif; ?>
       </div>
    </div>
  </div>
</div>

صفحه عضویت وردپرس

توضیح اینکه این کد ها خطاهای احتمالی رو هم به شما نشان می دهد و با استایل bootstrap4 برای شما آماده کرده ایم.


اشتراگ گذاری در:
اگه خوبه لایکش کن




دیدگاه بگذارید

avatar
  Subscribe  
Notify of