WordPress Siteniz İçin İletişim Formu Kodu

WordPress siteniz için İletişim sayfasına bir İletişim Formu eklemek istiyorsanız ve bunu eklenti kullanmadan yapmak istiyorsanız bu yazıda anlatılanları takip edebilirsiniz.

Önce Yeni Bir Sayfa Şablonu Yapalım

İletişim formunu barındıracak olan sayfada php kodu kullanacağımız için yeni bir sayfa şablonuna ihtiyacımız olacak. Bunun için sırasıyla aşağıdaki adımşarı izleyin.

  1. Temanız içindeki dosyalarda page.php isimli dosyayı bulun.
  2. Herhangi bir metin düzenleyicide dosyayı açın ve üst kısmına aşağıdaki kodu yapıştırın.
    /*
     Template Name: İletişim Sayfa
     */
  3. Dosyanıza page-contact.php ismi vererek farklı kaydetme yapın.

İletişim Formu Kodu

Şimdi sıra iletişim formu kodunu eklemeye geldi. İletişim formu kodunu içerik kodunun bulunduğu yere eklemek gerekiyor. Bu kısım da farklı temalara göre farklılık gösterebilir.

Sayfada yer alacak php kodu ise şöyle:

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

<?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 = "Kontrol sorusunu yanlış cevapladınız.";
 $missing_content = "Lütfen tüm bilgileri giriniz.";
 $email_invalid = "Geçersiz e-mail adresi.";
 $message_unsent = "Mesaj gönderilemedi. Lütfen tekrar deneyin.";
 $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 != 2) 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;
 }
 
 form span{
 color: red;
 }
</style>
 
<div id="respond">
 <?php echo $response; ?>
 <form action="<?php the_permalink(); ?>" method="post">
 <p><label for="name">İsim: <span>*</span> <br><input type="text" name="message_name" value="<?php echo esc_attr($_POST['message_name']); ?>"></label></p>
 <p><label for="message_email">Email: <span>*</span> <br><input type="text" name="message_email" value="<?php echo esc_attr($_POST['message_email']); ?>"></label></p>
 <p><label for="message_text">Mesaj: <span>*</span> <br><textarea type="text" name="message_text"><?php echo esc_textarea($_POST['message_text']); ?></textarea></label></p>
 <p><label for="message_human">Kontrol Sorusu: <span>*</span> <br><input type="text" style="width: 60px;" name="message_human"> + 3 = 5</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_footer(); ?>

İletşim formu bulunan sayfanın aktif olabilmesi için ise sırasıyla aşağıdaki adımları uygulamalısınız.

  1. page-contact.php dosyasını FTP kullanarak tema klasörünüz içine yükleyin.
  2. Sitenize giderek yeni bir sayfa oluşturun. İsmine “İletişim” diyebilirsiniz.
  3. Sayfayı oluştururken sağ tarafta buluna Şablon kısmında “İletişim Sayfa” şablonunu seçin.
  4. Yayımla diyerek iletişim sayfanızın çalışıp çalışmadığını test edin.
Etiketler:

Yorum Yapın veya Soru Sorun

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


*