رفتن به مطلب

مشکل در صفحه تماس با ما بدون افزونه


BenTo

پست های پیشنهاد شده

با عرض سلام دیگر خدمت یکایک دوستان

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

و حالا مشکلم اینه که کدی دارم با مشخصات :

<?php
/*
Template Name: contact
*/
?>


<?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;
 }
 
} ?>



<?php get_header(); ?>

 <div class="container">
 <div id="content">
 <?php get_sidebar('right'); ?>
 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
 <div <?php post_class() ?> id="post-<?php the_ID(); ?>">

 <div class="contactForm1">
 <div class="contacth1"><?php the_title(); ?></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(); ?>" class="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 -->
  <?php get_sidebar('left'); ?>
 </div><!-- #container -->
 

<?php get_footer(); ?>

که گزینه های نام شما - ایمیل شما - پیام شما را داراست

حالا اگه بخوام بهش دو عدد اینپوت باکس برای مثلا نام وبسایت - موضوع پیام اضاف کنم الگوش چیه ؟ چجوری باید کاملش کنم کد بالا رو

و سوال دوم برای اسپم نشدن پیغام ها توسط اتک و ربات حتما باید از کپچا استفاده کرد یا افزونه akismet هم مشکل رو حل میکنه

اگه نیاز به کپچا هست و کسی کد کپچا بدون افزونه رو داره - لطفا کد و طریق به کر گیریشو بی زحمت بگه

اگه هم کسی نداره بهترین و سبک ترین افزونه کپچا کدام است ؟

سپاس گذارم از تک تک دوستان بابت همراهی اخیر ( ببخشید این همه سوال میکنم تازه به ورپرس روی آوردم )

لینک به ارسال

کد شما به صورت زیر میشه

<?php
/*Template Name: contact*/
/*فرم تماس با ما*/

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 (trim($_POST['website']) === '') {
            $websiteError = 'لطفا نام سایت خود را وارد نمایید';
            $hasError = true;
        } else {
            if (function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['website']));
            } else {
                $comments = trim($_POST['website']);
            }
        }

        if (trim($_POST['subject']) === '') {
            $subjectError = 'لطفا موضوع پیام خود را وارد نمایید';
            $hasError = true;
        } else {
            if (function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['subject']));
            } else {
                $comments = trim($_POST['subject']);
            }
        }


        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نام وبسایت: $website\n\nموضوع پیام: $subject\n\nپیغام: $comments";
            $headers = 'From: ' . $name . ' <' . $emailTo . '>' . "\r\n" . 'Reply-To: ' . $email;

            wp_mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }

} ?>



<?php get_header(); ?>

 <div class="container">
 <div id="content">
 <?php get_sidebar('right'); ?>
 <?php if (have_posts()):
    while (have_posts()):
        the_post(); ?>
 <div <?php post_class() ?> id="post-<?php the_ID(); ?>">

 <div class="contactForm1">
 <div class="contacth1"><?php the_title(); ?></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(); ?>" class="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="email">نام سایت:</label>
 <input type="text" name="website" id="website" value="<?php if (isset($_POST['website']))
                echo $_POST['website']; ?>" />
 <?php if ($websiteError != '') { ?>
 <span><?= $websiteError; ?></span>
 <?php } ?>
 </li>
 
  <li>
 <label for="email">موضوع پیام</label>
 <input type="text" name="subject" id="subject" value="<?php if (isset($_POST['subject']))
                echo $_POST['subject']; ?>" />
 <?php if ($subjectError != '') { ?>
 <span><?= $subjectError; ?></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 -->
  <?php get_sidebar('left'); ?>
 </div><!-- #container -->
 

<?php get_footer(); ?>

 

 

برای  کپچا هم میتونین از کدهای زیر استفاده کنید

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...