آموزش کامل ایجاد فرم نام نویسی در وردپرس
برای داشتن یک فرم نام نویسی بدون استفاده از افزونه و پلاگین با دکتر ودپرس همراه باشید تا فرم اختصاصی خود را به راحتی ایجاد نمایید.
آموزش کامل ایجاد فرم نام نویسی در وردپرس
برای ایجاد فرم ابتدا صفحه ای که کاربران قرار است در آن اطلاعات خود را وارد کنند طراحی میکنیم.
برای طراحی این صفحه میتوانید از کد Html زیر استفاده کنید.
<form method="post"> <h3>آیا قبلا عضو نشده اید؟<br/> نام نویسی کنید.</h3> <p><label>نام</label></p> <p><input type="text" value="" name="first_name" id="first_name" /></p> <p><label>نام خانوادگی</label></p> <p><input type="text" value="" name="last_name" id="last_name" /></p> <p><label>ایمیل</label></p> <p><input type="text" value="" name="email" id="email" /></p> <p><label>نام کاربری</label></p> <p><input type="text" value="" name="username" id="username" /></p> <p><label>رمز عبور</label></p> <p><input type="password" value="" name="pwd1" id="pwd1" /></p> <p><label>تکرار رمز عبور</label></p> <p><input type="password" value="" name="pwd2" id="pwd2" /></p> <button type="submit" name="btnregister" >بفرست!</button> <input type="hidden" name="task" value="register" /> </form>
پس از ایجاد صفحه دریافت اطلاعات باید اطلاعات دریافتی پردازش گردند برای این منظور از کد php زیر استفاده میکنیم.
<?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 = 'نام نویسی شما با موفقیت به اتمام رسید، از شما ممنویم.'; } } } ?>
در ادامه کدی را به عنوان نمونه مشاهده میکنید که میتوانید این کد را در برگه مورد نظر خود قرار دهید و یا با ویرایش آن استایل دلخواه را به فرم خود بدهید.
<?php /* Template Name: فرم عضویت */ ?> <style> form label { display: block; font-weight: bold; } form input[type="text"], form input[type="password"] { border: 1px solid #F0F0F0; border-radius: 5px; -moz-box-shadow: 1px 1px #FFF, 1px 1px 1px #aaa inset; -webkit-box-shadow: 1px 1px #FFF, 1px 1px 1px #aaa inset; box-shadow: 1px 1px #FFF, 1px 1px 1px #aaa inset; padding: 10px 7px; width: 50%; background: #FFF; margin-top: 5px; font-family: Tahoma, Geneva, sans-serif; font-size: 15px; font-weight: bold; color: #666; } </style> <?php get_header(); ?> <?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 = 'نام نویسی شما با موفقیت به اتمام رسید، از شما ممنویم.'; } } } ?> <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(); ?>> <header class="entry-header"> <h1 class="entry-title"><?php the_title(); ?></h1> </header> <div class="entry-content"> <?php the_content(); ?> <div id="message"> <?php if(! empty($err) ) : echo '<p class="error">'.$err.'</p>'; endif; ?> <?php if(! empty($success) ) : echo '<p class="error">'.$success.'</p>'; endif; ?> </div> <form method="post"> <h4>آیا قبلا عضو نشده اید؟<br/> نام نویسی کنید.</h4> <p> <label>نام</label> </p> <p> <input type="text" value="" name="first_name" id="first_name" /> </p> <p> <label>نام خانوادگی</label> </p> <p> <input type="text" value="" name="last_name" id="last_name" /> </p> <p> <label>ایمیل</label> </p> <p> <input type="text" value="" name="email" id="email" /> </p> <p> <label>نام کاربری</label> </p> <p> <input type="text" value="" name="username" id="username" /> </p> <p> <label>رمز عبور</label> </p> <p> <input type="password" value="" name="pwd1" id="pwd1" /> </p> <p> <label>تکرار رمز عبور</label> </p> <p> <input type="password" value="" name="pwd2" id="pwd2" /> </p> <button type="submit" name="btnregister" class="button" >بفرست!</button> <input type="hidden" name="task" value="register" /> </form> </div> <footer class="entry-meta"> <?php edit_post_link( __( 'Edit', 'twentytwelve' ), '<span class="edit-link">', '</span>' ); ?> </footer> <!-- .entry-meta --> </article> <?php endwhile; ?> <?php endif; ?> </div> </div> <?php get_sidebar(); ?> <?php get_footer(); ?>
این کدها در کجا باید قرار گیرند میتوانید بفرمائید
توی فایل جدید در قالب میتونید قرار بدین!