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

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

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

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

برای ساخت تماس با ما وردپرس ابتدا در پوشه قالب خود یک فایل php با نام دلخواه خود ایجاد نماییم . ما فایلی با نام contact-page.php ایجاد میکنیم. سپس کد زیر را درونش جایگذاری نمایید

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

سپس کد زیر که قالب بندی صفحه شماست را درون فایل بالا جایگذاری میکنیم

<?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>
 <p>با تشکر، ایمیل شما با موفقیت ارسال شد</p>
 </div>
 <?php } else { ?>
 <?php the_content(); ?>
 <?php if(isset($hasError) || isset($captchaError)) { ?>
 <p>متاسفم، خطایی رخ داده است لطفا مجددا سعی نمایید<p>
 <?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 را جایگذاری نماییم. برای اینکار کافیست کد زیر را قبل از 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;
 }
 
} ?>

 

لینک کوتاه:

https://a4fran3.ir/?p=17508

guest
0 نظر
Inline Feedbacks
مشاهده همه نظرات

مطالب مشابه