انجمن


ساخت صفحه تماس با ما بدون پلاگین  (۹ نوشته)

  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۱۳ سال پیش
    ۶ آبان ۱۳۹۰ - ۱۲:۴۳

    صفحه تماس با ما صفحه مهمی هست برای هر وب سایت وردپرسی.
    بسیاری از توسعه دهندگان وردپرس با استفاده از پلاگین contact7 صفحه تماس با رو ایجاد می کنن.
    یه توصیه ساده از پلاگین برای ساخت این صفحه استفاده نکنید
    پیشنهاد من این هست با استفاده از کد ساده پی اچ پی زیر این کار رو انجام بدین
    خب ابتدا یک صفحه contact.php در پوشه تم وردپرس بسازید و کد زیر رو در اون فایل قرار بدین :

    <?php
    /*
    Template Name: Contact Us
    */
    if($_POST[sent]){
     $error = "";
     if(!trim($_POST[your_name])){
     $error .= "<p>Please enter your name</p>";
     }
     if(!filter_var(trim($_POST[your_email]),FILTER_VALIDATE_EMAIL)){
     $error .= "<p>Please enter a valid email address</p>";
     }
     if(!trim($_POST[your_message])){
     $error .= "<p>Please enter a message</p>";
     }
     if(!trim($_POST[your_subject])){
     $error .= "<p>Please enter a message</p>";
     }
     if(!$error){
     $email = wp_mail(get_option("admin_email"),trim($_POST[your_name])." sent you a message from ".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(); ?>
    
     <section id="primary">
     <div id="content" role="main">
    
    <div id="archives">
    <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
     <h1><?php the_title(); ?></h1>
     <div>
     <?php if($email){ ?>
     <p><strong>Message succesfully sent. I'll reply as soon as I can</strong></p>
     <?php } else { if($error) { ?>
     <p><strong>Your messange hasn't been sent</strong><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" />
     <div id="form">
     <div id="lebel">Your Name (required)</div>
     <div id="input-field"><input type="text" name="your_name" id="your_name" value="<?php echo $_POST[your_name];?>" /></div>
     <div id="lebel">Your Email (required)</div>
     <div id="input-field"><input type="text" name="your_email" id="your_email" value="<?php echo $_POST[your_email];?>" /></div>
     <div id="lebel">Subject</div>
     <div id="input-field"><input type="text" name="your_subject" id="your_subject" value="<?php echo $_POST[your_subject];?>" /></div>
     <div id="lebel">Your Message(required)</div>
     <div id="input-field"><textarea name="your_message" id="your_message"><?php echo stripslashes($_POST[your_message]); ?></textarea></div>
     <div id="lebel"> </div>
     <div id="input-field"><input type="submit" name = "send" value = "Contact Us" /></div>
     </div>
    
     </form>
     <?php } ?>
     </div><!-- .entry-content -->
     </div><!-- #post-## -->
     <?php endwhile; ?>
    
    </div>
     </div><!-- #content -->
     </section><!-- #primary -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    این مقاله ادامه دارد ...!!!

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Parsa - امین - EIMAN_NICE - nasour - Masx - - mdsn
  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۳ سال پیش
    ۶ آبان ۱۳۹۰ - ۱۳:۱۷

    یه توصیه ساده از پلاگین برای ساخت این صفحه استفاده نکنید

    دلیل خاصی دارید برای این توصیه؟

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    امین
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۱۳ سال پیش
    ۶ آبان ۱۳۹۰ - ۱۳:۳۰

    ( البته من تازه دیدم مصطفی هم در سایتش این مورد رو قبلا بازگو کرده بود !!! )
    خب برداشتی آزاد :
    وقتی این پلاگینا نصب میشن موردا سرعت سایت کمی متغیر میشه چرا که کوئری سفارشی اینجور پلاگینها بر روی دیتابیس تاثیر میذارن و به نوعی مصرف کننده خوبی از پهنای باند هستن

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    امین - Masroor - nasour - Masx - mdsn
  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۳ سال پیش
    ۶ آبان ۱۳۹۰ - ۱۵:۵۶

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    NESTED - امین - Masx
  • Parsa

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۹۲۱
    تشکر شده: ۲۶۸۳ بار
    # نوشته شده: ۱۳ سال پیش
    ۶ آبان ۱۳۹۰ - ۱۶:۴۷

    اين موضوع را هم در نظر داشته باشيد كه افزونه ها همان كدهاي ساده بالا هستند با اين تفاوت كه چند خط براي معرفي دارند

    نمونه مانند اين كد هم به عنوان افزونه وجود دارد
    كلا افراد به خاطر ناآشنايي با برنامه نويسي به دنبال افزونه ها مي روند
    بعضي از افراد دوست دارند اطلاعات تماس ايميل نشه، پس نياز به ديتابيس ديده ميشود

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    NESTED - Morteza - Masx
  • MR V03

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۸
    تشکر شده: ۱ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۶ آذر ۱۳۹۰ - ۲۳:۴۳

    خب بعد از این که این کد رو ساختیم باید چی کار کنیم؟

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mdsn
  • omid0098

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۳۵۳
    تشکر شده: ۱۱۹۴ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۷ آذر ۱۳۹۰ - ۰۹:۵۵

    سلام
    کار خاصی نمیخواد کنید.فقط از افزودن برگه در مدیریت ، "صفحات برگه" رو contact انتخاب کنید.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mdsn
  • arian32

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۹
    تشکر شده: ۱ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۸ آذر ۱۳۹۰ - ۱۹:۳۱

    به نظر من افزونه خیلی برتری نسبت به این کد دارد اولا اینکه خیلی از تماس های نیاز به دیتابیس دارد دوما مثلا اگر امنیت باشد هگر با دانش بالا از هر طروق میتونه عمل کنه و سایت را بیاره پائین.

  • EIMAN_NICE

    آفلاین
    عضو
    تعداد نوشته‌ها: ۸۱
    تشکر شده: ۷ بار
    # نوشته شده: ۱۲ سال پیش
    ۱۳ دی ۱۳۹۰ - ۲۰:۳۹

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

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.