با سلام و عرض ادب ، بعد از راه اندازی سایت اولی امکانی که همیشه در فکر ماست تا اضافه کنیم فرم تماس با ما هست که این کار را می توان با انواع روش ها اضافه کرد برای مثال اگر سایت html باشد خب می توان از کد های html استفاده کد،اگر وردپرسی باشد خب برای این مدیریت محتوا می توان از دو روش افزونه فرم تماس و کد php و اگر جملا باشد که باز از افزونه وردپرس و کد حال ما در این مطلب قصد داریم تا بدون هیچ افزونه ای با کد php برای سایت خود فرم تماس زیبا ایجاد و نیاز خود و کابران را بر آورده کنیم.مزیت استفاده از کد در این است که از افزونه استفاده نخواهید کرد که با مشکلات ناسازگاری و … مواجه شوید.
ساخت فرم تماس با کد php
برای ایجاد این فرم با کد کار بسیار راحتی خواهید داشت و نیاز به هیچ دانش کد نویسی و … ندارد فقط کایست با وردپرس و فایل های اصلی قالب وردپرس آشنایی داشته باشد.با همراه باشید تا بریم سراغ آموزش …
گام اول: ایجاد یک فایل contact-page.php
برای این که یک فرم با کد ایجاد کنید ابتدا یک فایل php بسازید که در عنوان عنوان آن را ذکر کردیم حال شما می توانید از عناوین مورد نظر دیگری استفاده کنید.بعد از ایجاد کد زیر را درون آن بریزید.
<?php /* Template Name: نام <a class="wpil_keyword_link" href="https://uptheme.ir/product-category/wp-theme/" title="قالب وردپرس" data-wpil-keyword-link="linked" data-wpil-monitor-id="507">قالب وردپرس</a> */ ?>
کدی که در بالا قرار دادیم به نام قالب وردپرس اشاره دارد.خب بعد از کار بالا باید برای فرم خود یک چهار چوب تعیین کنیم همانند زیر:
<?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> <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 هنوز تعریف نشده است.ما در ادامه این امکان را هم اضافه خواهیم کرد.برای این کار کد زیر را قبل از <?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; } } ?>
خب با انجام این مراحل که از سوی ما ارائه شده خواهید توانست به راحتی و مثل آب خوردن برای سایت خود بدون افزونه فرم تماس با ما بسازید و آن را در اختیار کاربران سایت خود قرار دهید.امید واریم مورد پسند شما واقع قرار گرفته باشد.
منبع: آپ تم مرجع: آموزش وردپرس
سلام. ضمن تشکر از شما بابت این مطلب مفید. استفاده کردیم.
بنده یه سوالی دارم. اگر بخوایم فیلد شماره تماس رو اضافه کنیم چه کاری باید بکنیم؟
و اینکه برای راست چین بودن متن ایمیل چه راهکاری پیشنهاد میدید؟
سلام ، پیشنهاد میکنم از سورس کدهای آماده فرم تماس استفاده کنید