برگه تماس بدون نیاز به افزونه

سلام, خب گاهی اوقات داشتن یک برگه تماس برای یک سایت و یک وبلاگ نسبتا کوچک مناسب هست و داشتن یک ارتباط بین بازدید کننده و مدیر سایت تقریبا الزامی! در وردپرس بیشتر کاربران و خود بنده از افزونه هایی نظیر wc7 یا cform و یا امثال اون رو استفاده می کنن. خب گاهی اوقات هم می خوایم یه فرم ساده فقط برای تماس داشته باشیم و نیازی به رجوع به این افزونه ها نداشته باشیم. یا باید از کنتاکت فرم های خارجی استفاده کنیم و یا بهتره بدون افزونه و با خود وردپرس این کار رو انجام بدیم. البته اون افزونه ها با کارایی های بالاشون هرفرمی رو که بخواین ایجاد کنید.روش ایجاد فرم تماس بدون افزونه:
ابتدا یک فایل به نام contact.php داخل پوشه پوستتون بسازید و محتویات زیر رو بهش اضافه کنید:

www.deliciousdays.com/cforms-plugin/
<?php
/*
Template Name: Contact me
*/

if($_POST[sent]){
	$error = "";
	if(!trim($_POST[your_name])){
		$error .= "<p>لطفا نام خود را وارد کنید ";
	}
	if(!filter_var(trim($_POST[your_email]),FILTER_VALIDATE_EMAIL)){
		$error .= "<p>لطفا آدرس ایمیل معتبری را وارد کنید </p>";
	}
	if(!trim($_POST[your_message])){
		$error .= "<p>لطفا متن خود را وارد کنید </p>";
	}
	if(!$error){
		$email = mail(get_option("admin_email"),trim($_POST[your_name])." این ایمیل ارسال شده از  ".get_option("blogname"),stripslashes(trim($_POST[your_message])),"From: ".trim($_POST[your_name])." < ".trim($_POST[your_email]).">\r\nReply-To:".trim($_POST[your_email]));
	}
}
?>
<?php get_header(); ?>
<div id="container">
	<div id="content" role="main">
		<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
		<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
			<p><?php the_title(); ?></p>
			<div class="entry-content">
			<?php if($email){ ?>
				<p><strong>پیغام شما با موفقیت ارسال شد. منتظر پاسخ باشید </strong></p>
			<?php } else { if($error) { ?>
				<p><strong>پیغام شما نمی تواند ارسال شود </strong></p><p>
				<?php echo $error; ?>
			<?php } else { the_content(); } ?>
				<form action="<?php the_permalink(); ?>" id="contact_me" method="post">
					<input type="hidden" name="sent" id="sent" value="1" />
					<table width="200" border="0">
                      <tr>
                        <td><?php (_e('Name')); ?>:</td>
                        <td><input type="text" name="your_name" id="your_name" value="<?php echo $_POST[your_name];?>" /></td>
                      </tr>
                      <tr>
                        <td><label for="label"><?php (_e('Email')); ?>:</label></td>
                        <td><input type="text" name="your_email" id="your_email" value="<?php echo $_POST[your_email];?>" /></td>
                      </tr>
                      <tr>
                        <td><label for="label"><?php (_e('Text')); ?>:</label></td>
                        <td><textarea name="your_message" id="your_message"><?php echo stripslashes($_POST[your_message]); ?></textarea></td>
                      </tr>
                      <tr>
                        <td colspan="2"><input type="submit" name = "send" value = "<?php (_e('Submit')); ?>" /></td>
                      </tr>
                    </table>
				</form>
				<?php } ?>
			</p></div>
		</div>
		<?php endwhile; ?>
	</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

سپس در مدیریت وردپرس برگه جدیدی بسازید و در قسمت صفات برگه همانند تصویر زیر, برگه قالب را Contact Me انتخاب کنید.

Page Attributes

برگه را به روز رسانی کرده و آن را مشاهده کنید!

35 thoughts on “برگه تماس بدون نیاز به افزونه

  1. سلام!

    من نمیتونم برای مطالبم ادامه مطلب بذارم.
    میشه منو راهنمایی کنید؟

    یکی گفت باید از این کد استفاده کنی

    اما خوب این کد رو کجا بادی بذارم؟

    خود شما هم آدرس توضیحات خود وردپرس و یه عکس گذاشته بودید / عکسه که باز نمیشد / از توضیحات هم چیزی متوجه نشدم و نفهمیدم کجا هستش.

    میشه منو راهنمایی کنید؟؟؟

    لطفا پاسختون رو در سایت خودم کامنت بذارید / خیلی ممنون

    • سلام, محسن جان بنده نبودم. اگر وقت داشتم حتما براتون انجام می دادم و یا به سایتتون هم سر می زدم ;)
      همین مشکل رو توی انجمن هم ادامه می دادید, همونجا هم پاسخ می دادیم.

  2. سلام :)
    من اینو امتحان کردم الان
    یه مشکلی که داره اینه که با اینکه من پوسته ی contact me رو برای صفحه ی تماس با من استفاده میکنم اما این پوسته به صورت بخشی از پوسته ی اصلی نمایش داده میشه و نتیجه ای که میگیرم چیزی جز یک صفحه ی کاملا به هم ریخته نیست
    مجبور شدم دوباره برگردم به همون فرم تماس با استفاده از پلاگین!
    ممنون میشم راهنماییم کنید :)

    • سلام, یه جار کار احتمالا اشتباه کردید.
      یه کپی از page.php بگیرید و به contact.php تغییر بدیدش
      نامش هم:

      Template Name: Contact me

      قرار دهید و دوباره آزمایش کنید. اگر بهم نریخت! کد بالا رو بهش اضافه کنید

      • شاید من مراحل رو درست طی نمیکنم ولی باز هم نتیجه دقیقه مثل قبل میشه…!
        من کدی که اینجا قرار دادید رو توی یک فایل php قرار میدم و تو پوشه ی پوسته آپلود میکنم، بعد هم برای صفحم همین پوسته رو انتخاب میکنم ولی چیزی که میبینم اونطور به نظر میاد که انگار این صفحه ی جدید، یعنی پوسته ی contact me همراه با پوسته ی اصلی بارگذاری میشه و همه چیز بهم میریزه … اینی رو هم که الان فرمودید امتحان کردم، نمیدونم درست مراحل رو طی کردم یا نه ولی نتیجه همون شد :(

        • پوسته دیگه ای رو آزمایش کنید. احتمالا توی برگه هایی که می سازید یه مشکلی برای فراخوانی تابع های پانوشت و ابزارک باشه.

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

    • سلام, باید بعد از مطالبتون دستور:

      رو در نوشتتون قرار بدین. اگر دقت کنی توی ادیتور متن وردپرس هم هست ;)

      • این متن رو یه جوری نوشتید که قابل خواندن نیست میشه آدرس دقیق رو بگید ، کدوم دستور را توی نوشته قرار بدم.ببخشید منظورتون از ادیتور همون ویرایش هست ، من که توی ویرایش متن رفتم ولی چیزی نداشت.

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

  5. آموزش جالبی بود. چون هر چقدر از افزونه های بیشتری استفاده کنی سرعت بالا آمدن سایت کم میشه که با این کار دیگه نیازی به نصب افزونه ی فرم تماس با ما نیست. مرسی

  6. سلام دوست عزیز
    خیلی ممنون از این موضوع
    فقط یک مساله ای !!!!
    چرا پیام ها رو ارسال نمیکنه ؟!!!
    به عبارتی دیگه کار نمیکنه !
    ممنون میشم پیگیری کنین

    ودرپرس مورد ستقاده : نگارش ۳.۰.۱

    • سلام, ابتدا از بررسی کنید ببینید سرویس ایمیل در هاستتون کار می کنه.
      روی هاست رایگان بعید می دونم کار کنه.
      کدهای این مطلب رو از طریق View Source بردارید.
      اگر مراحل رو به درستی طی کنید مشکلی نباید باشه, چون خودم یبار تستش کردم!

  7. ببخشید یک سوال دیگه !
    سما طراحی پلاگین هم میکنین ؟! یا کسی رو میشناسین آشنایی داشته باشه !؟

    من به دنبال یه پلاگینی هستم که بتونه Note های در MY Note فیسبوک من رو به همراه کامنت هاش در وردپرس ایمپورت کنه … ممنون میشم راهنماییم کنین
    خیلی گشتم ولی متاسفانه فعلا که به نتیجه نرسیدم

    نمونه مشابه که کار نمی کنه ! :
    http://www.wordpress.org/extend/plugins/facebook-comments/

  8. در ضمن در حال حاضر هم از هاست Gigfa.com
    استفاده می کنم … فکر می کنم سرویس ایمیل فعال باشه ولی متاسفانه نتونستم از فرم ارتباطی استفاده کنم …

  9. خیلی خوب بود اما متاسفانه اینطور از نظرات میشه برداشت کرد که خیلی ها فقط از وردپرس استفاده میکنن و نمیتونن تغیرات رو که توی قالب انجام میشه بدونن
    این یک مشکله بزرگه متاسفانه

    چون شما ۴ خط نوشتی
    ۴۰۰ خط توضیح دادی توی کامنتها
    کاش دوستان کمی توی فروم ها شرکت کنن تا راحتتر با این تغییرات کنار بیان

    بهر حال موفق باشی

    در ضمن قالب هم خیلی قشنگ شده
    خیلی خوشم اومد

  10. سلام

    یه سوال پیش میاد و اون اینه که این فرم شما چرا گذینه ای به نام موضوع نداره تا ما بدونیم طرف برای چی ایمیل زده برامون..!!!؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>