WordPress iletişim Sayfası Kodu

WordPress iletişim Sayfası Kodu

WordPress’te olmazsa olmaz sayfalardan birisi de iletişim formumunun bulunduğu sayfadır. Site ziyaretçilerinizin kafasına bir mevzu takıldığında ya da başka bir konuda sizinle iletişime geçmek istediğinde bu formla size iletisini gönderecektir.

Burada ben size herhangi bir eklenti kullanmadan tamamen php kodlarıyla nasıl iletişim formu oluşturabileceğimizi anlatacağım.

Ben kodlarla uğraşamam diyorsanız aşağıdaki linklerden 2 farklı wordpress iletişim formu eklentisinin nasıl kurulacağı ile ilgili bilgi alabilirsiniz.

Dilerseniz, Contact Form 7 veya FS contact Form eklentilerini deneyebilirsiniz.

Fakat ben size eklenti kullanımını minimum seviyede tutmanızı öneriyorum. Çünkü wordpresste yükleyip kullandığınız her yeni eklenti site hızınızı yavaşlatır, site seo puanını düşürüp google sıralamanızı olumsuz yönde etkiler. Ek olarak sitenizde kötü amaçlı kişilerin kullanabileceği açıklara sebebiyet verir. Uzun sözün kısası elinizden geldince eklentilerden kaçınmanızı tavsiye ediyorum ve iletişim formumuzun yapımına geçiyorum.

İlk olarak iletisim.php adında boş bir metin dosyası oluşturup içine hiçbirşey yazmadan wordpresste kullandığımız temanın bulunduğu klasöre FTP’den atıyoruz. Sonra wordpress admin panelimize gelip görünüm –>> editör sekmelerine tıklayıp boş olan iletisim.php dosyasını açıp aşağıdaki kodu herhangi bir değişiklik yapmadan kopyala yapıştır yapıp dosyayı kaydediyoruz.

<?php
 /*
 Template Name: İletişim
 */
 ?>

<?php

//response generation function
 $response = "";

//function to generate response
 function my_contact_form_generate_response($type, $message){

global $response;

if($type == "success") $response = "
 <div class='success'>{$message}</div>";
 else $response = "
 <div class='error'>{$message}</div>";

}

//response messages
 $not_human = "Captcha kodunu yanlış yazdınız, lütfen tekrar deneyiniz.";
 $missing_content = "Lütfen tüm alanları eksiksiz bir şekilde doldurunuz. ";
 $email_invalid = "Geçersiz e-mail adresi.";
 $message_unsent = "Mesaj gönderilemedi. Lütfen daha sonra tekrar deneyiniz.";
 $message_sent = "Teşekkürler! Mesajınız başarıyla gönderildi.";

//user posted variables
 $name = $_POST['message_name'];
 $email = $_POST['message_email'];
 $message = $_POST['message_text'];
 $human = $_POST['message_human'];

//php mailer variables
 $to = get_option('admin_email');
 $subject = get_bloginfo('name')." "."Sitenizden Yeni Mesaj";
 $headers = 'From:'.' '.$name.' '.'<'.$email.'>';

if(!$human == 0){
 if($human != 327) my_contact_form_generate_response("error", $not_human); //not human!
 else {

//validate email
 if(!filter_var($email, FILTER_VALIDATE_EMAIL))
 my_contact_form_generate_response("error", $email_invalid);
 else //email is valid
 {
 //validate presence of name and message
 if(empty($name) || empty($message)){
 my_contact_form_generate_response("error", $missing_content);
 }
 else //ready to go!
 {
 $sent = wp_mail($to, $subject, strip_tags($message), $headers);
 if($sent) my_contact_form_generate_response("success", $message_sent); //message sent!
 else my_contact_form_generate_response("error", $message_unsent); //message wasn't sent

}
 }
 }
 }
 else if ($_POST['submitted']) my_contact_form_generate_response("error", $missing_content);

?>

<?php get_header(); ?>

<div id="primary" class="content-area">
 <main id="main" class="site-main" role="main">
 <article id="post-21" class="post-21 page type-page status-publish hentry">
 <header class="entry-header">
 <h1 class="entry-title">

<?php echo get_the_title(); ?></h1> </header><!-- .entry-header -->

<div class="entry-content">

<style type="text/css">
 .error{
 padding: 5px 9px;
 border: 1px solid red;
 color: red;
 border-radius: 3px;
 }

.success{
 padding: 5px 9px;
 border: 1px solid green;
 color: green;
 border-radius: 3px;
 }
 </style>
 <div id="respond">
 <?php echo $response; ?>
 <form action="<?php the_permalink(); ?>" method="post">
 <p><label for="name">Adınız (gerekli)
 <br><input type="text" name="message_name" value="
 <?php echo esc_attr($_POST['message_name']); ?>"></label></p>
 <p><label for="message_email">Emailiniz (gerekli) <br><input type="text" name="message_email" value="
 <?php echo esc_attr($_POST['message_email']); ?>"></label></p>
 <p><label for="message_text">İletiniz <br><textarea type="text" name="message_text"><?php echo esc_textarea($_POST['message_text']); ?></textarea></label></p>
 <p><label for="message_human">Captcha Kodu <br><input type="text" style="width: 60px;" name="message_human">3⃣2⃣7⃣</label></p>
 <input type="hidden" name="submitted" value="1">
 <p><input type="submit"></p>
 </form>
 </div>

</div><!-- .entry-content -->
 </article>

</main><!-- .site-main -->
 </div><!-- .content-area -->
 <?php get_sidebar (); ?>
 <?php get_footer(); ?>

Daha sonra admin panelinden sayfalar –>>yeni ekle diyerek iletişim adında yeni bir sayfa oluşturup, sayfa şablonu olarak iletişim sayfa şablonunu seçiyoruz, sayfayı kaydedip yayınladığımızda işlemi tamamlamış oluyoruz.

İletişim formunun çalışabilmesi için, SMTP eklentisi yükleyerek gerekli ayarlamaları doğru bir şekilde yapmamız gerekiyor.

Bu konuyla ilgili olarak WordPress Smtp Ayarları ile ilgili yazımıza bakabilirsiniz.

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ
ZİYARETÇİ YORUMLARI

Henüz yorum yapılmamış. İlk yorumu aşağıdaki form aracılığıyla siz yapabilirsiniz.

BİR YORUM YAZ