Blogchi

بـلاگچی

قالب وردپرس | آموزش وردپرس | بهینه سازی | طراحی و ترجمه قالب های وبلاگ

ساخت صفحه ارتباط با ما بدون افزونه

ساخت صفحه ارتباط با ما بدون افزونه

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

ساخت صفحه ارتباط با ما بدون افزونه

 

مرحله اول: ساخت فایل contact-page.php

در ابتدا می بایست یک فایل php برای صفحه ارتباط با ما انتخاب کنیم. نام این صفحه می تواند بر اساس خواسته شما هر چیزی باشد. حال کد زیر را در فایل قرار دهید:

<?php /* Template Name: نام قالب */ ?>

کد بالا نام قالب را تعیین می کند.

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

<?php get_header() ?>
<div id="container">
<div id="content">
                       <?php the_post() ?>
<div id="post-<?php the_ID() ?>">
<div>
                               </div>
<!-- .entry-content ->
                       </div>
<!-- .post-->
               </div>
<!-- #content -->
        </div>

<!-- #container -->
 
<?php get_sidebar() ?>
<?php get_footer() ?>

 

مرحله دوم: ساخت فرم

در این مرحله باید فرم مورد نظر را طراحی کنید. در اینجا فرمی که برای شما قرار داده ام نمونه ساده ای است که باید داخل فایل contact-page.php و داخل div که مربوط به محتوا هست قرار می دهید.

<?php get_header(); ?>
<div id="container">
<div id="content">
                        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<h1><?php the_title(); ?></h1>
<div>
                                              <?php if(isset($emailSent) && $emailSent == true) { ?>
<div>
با تشکر، ایمیل شما با موفقیت ارسال شد
                                                      </div>
                                              <?php } else { ?>
                                                      <?php the_content(); ?>
                                                      <?php if(isset($hasError) || isset($captchaError)) { ?>
متاسفم، خطایی رخ داده است لطفا مجددا سعی نمایید
                                                      <?php } ?>
<form action="<?php the_permalink(); ?>" id="contactForm" method="post">
<ul>
<li>
                                                             <label for="contactName">نام شما:</label>
                                                             <input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" />
                                                             <?php if($nameError != '') { ?>
                                                                     <span><?=$nameError;?></span>
                                                             <?php } ?>
                                                      </li>
<li>
                                                             <label for="email">ایمیل شما:</label>
                                                             <input type="text" name="email" id="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" />
                                                             <?php if($emailError != '') { ?>
                                                                     <span><?=$emailError;?></span>
                                                             <?php } ?>
                                                      </li>
<li><label for="commentsText">پیغام:</label>
                                                             <textarea name="comments" id="commentsText" rows="20" cols="30"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>
                                                             <?php if($commentError != '') { ?>
                                                                     <span><?=$commentError;?></span>
                                                             <?php } ?>
                                                      </li>
<li>
                                                             <input type="submit" value="ارسال ایمیل"></input>
                                                      </li>
                                              </ul>
                                              <input type="hidden" name="submitted" id="submitted" value="ارسال ایمیل" />
                                      </form>
                               <?php } ?>
                               </div>
<!-- .entry-content -->
                       </div>
<!-- .post -->
                                <?php endwhile; endif; ?>
               </div>
<!-- #content -->
        </div>
<!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

 

مرحله سوم: درج کدهای پردازش فرم

در مراحل قبل فرم را ساختیم اما این فرم کار نمی کند. در این مرحله فیلدهای ضروری و همچنین دکمه submit را تعریف خواهیم کرد. بدین صورت که فرم ارسال کاربر به ایمیلی که در پنل ادمین معرفی شده است ارسال خواهد شد

برای این کار کد زیر را قبل از <?php get_header(); ?> قرار دهید:

<?php /*فرم تماس با ما */ ?>
 
<?php
if(isset($_POST['submitted'])) {
        if(trim($_POST['contactName']) === '') {
               $nameError = 'لطفا نام خود را وارد نمایید';
               $hasError = true;
        } else {
               $name = trim($_POST['contactName']);
        }
 
        if(trim($_POST['email']) === '')  {
               $emailError = 'لطفا آدرس ایمیل خود را وارد نمایید.';
               $hasError = true;
        } else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['email']))) {
               $emailError = 'آدرس ایمیل وارد شده صحیح نمی باشد';
               $hasError = true;
        } else {
               $email = trim($_POST['email']);
        }
 
        if(trim($_POST['comments']) === '') {
               $commentError = 'لطفا پیغام خود را وارد نمایید';
               $hasError = true;
        } else {
               if(function_exists('stripslashes')) {
                       $comments = stripslashes(trim($_POST['comments']));
               } else {
                       $comments = trim($_POST['comments']);
               }
        }
 
        if(!isset($hasError)) {
               $emailTo = get_option('tz_email');
               if (!isset($emailTo) || ($emailTo == '') ){
                       $emailTo = get_option('admin_email');
               }
               $subject = 'یک پیغام از طرف '.$name;
               $body = "نام فرستنده: $name \n\nایمیل نویسنده: $email \n\nپیغام: $comments";
               $headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
 
               wp_mail($emailTo, $subject, $body, $headers);
               $emailSent = true;
        }
 
} ?>

 

آموزش امروز نیز به پایان رسید. امیدوارم این آموزش مورد پسندتون قرار گرفته باشه

موفق باشید

 

*مدرسه وردپرس

پیشنهاد میشه از مطالب زیر دیدن کنید