WordPress Eklentisiz İletişim Sayfası Yapımı

12 yıl önce

Merhaba arkadaşlar bu gün sizlere WordPress eklentisiz iletişim sayfası yapmayı göstereceğim.Çünkü arkadaşlar basit bir iletişim formu için bile bir eklenti kullanarak boşuna sistemi yavaşlatıyoruz bende bunu düşünerek küçük bir araştırma yaptım ve Php ile iletişim formu yapmak için bir kod buldum.

Kodu kendime göre düzenledim şuan da iletişim sayfamızdan önizlemesini görebilirsiniz.Bende bu kodu sizlerle paylaşmak istedim , kod hazır haldedir hiçbir değişiklik yapmanıza gerek yok.

Öncelikle arkadaşlar iletisim.php şeklinde bir sayfa oluşturun ve aşağıda ki kodu bu sayfanın içerisine yapıştırın ve tema klasörünüzün içerisine atın.Daha sonra yeni sayfa oluşturma bölümüne girin ve sağ taraftan sayfa şablonu bölümünden “Contact” sayfasını seçin ve kaydet deyin , iletişim bölümünün üstüne açıklama girmek isterseniz normal sayfaya yazı yazmanız yeterlidir.

<?php
/*
Template Name: İletişim
*/
$cp_question = "5+1 = ?";
$cp_answer = "6";
?>
<?php get_header(); ?>
<div class="icerik">
<div id="content">
 
 
     <?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
 
 
    <?php
     //validate email adress
     function is_valid_email($email)
     {
        return (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email));
     }
     function is_valid_user($answer)
     {
      global $cp_answer;
      if ($answer == $cp_answer) { return true; } else { return false;}
     }
     //clean up text
     function clean($text)
     {
      return stripslashes($text);
     }
     //encode special chars (in name and subject)
     function encodeMailHeader ($string, $charset = 'UTF-8')
     {
         return sprintf ('=?%s?B?%s?=', strtoupper ($charset),base64_encode ($string));
     }
     $cp_name    = (!empty($_POST['cp_name']))    ? $_POST['cp_name']    : "";
     $cp_email   = (!empty($_POST['cp_email']))   ? $_POST['cp_email']   : "";
     $cp_url     = (!empty($_POST['cp_url']))     ? $_POST['cp_url']     : "";
     $cp_ans     = (!empty($_POST['cp_ans']))     ? $_POST['cp_ans']     : "";
     $cp_message = (!empty($_POST['cp_message'])) ? $_POST['cp_message'] : "";
     $cp_message = clean($cp_message);
     $error_msg = "";
     $send = 0;
     if (!empty($_POST['submit'])) {   
      $send = 1;
      if (empty($cp_name) || empty($cp_email) || empty($cp_message) || empty($cp_ans)) {
       $error_msg.= "<p style='color:#a00'>Gerekli tüm alanları doldurun.</p>\n";
       $send = 0;       
      }      
      if (!is_valid_email($cp_email)) {
       $error_msg.= "<p style='color:#a00'>Yanlış Bir Mail Adresi Girdiniz.</p>\n";
       $send = 0;
      } 
      if (!is_valid_user($cp_ans)) {
       $error_msg.= "<p style='color:#a00'>Yanlış Cevap.</p>\n";
       $send = 0;
      }         
     }
     if (!$send) { ?>
 
<?php the_content(''); ?>
 
<?php echo $error_msg;?>
 
<form method="post" action="<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" id="contactform">
 
 
                       <div style="float:left;">İsim</div><div style="font-size:8px;color:red;float:left;padding-left:5px;">(zorunlu)</div><div class="temizlik"></div><br/>
         <input type="text" class="textbox" id="cp_name" name="cp_name" value="<?php echo $cp_name ;?>" /><br/><br/>
         <div style="float:left;">Mail Adresiniz</div><div style="font-size:8px;color:red;float:left;padding-left:5px;">(zorunlu)</div><div class="temizlik"></div><br/>
         <input type="text" class="textbox" id="cp_email" name="cp_email" value="<?php echo $cp_email ;?>" /><br/><br/>
         Websiteniz<br/>
         <input type="text" class="textbox" id="cp_url" name="cp_url" value="<?php echo $cp_url ;?>" /><br/><br/>
         <div style="float:left;"><?php echo $cp_question; ?></div><div style="font-size:8px;color:red;float:left;padding-left:5px;">(zorunlu)</div><div class="temizlik"></div><br/>
         <input type="text" class="textbox" id="cp_ans" name="cp_ans" value="<?php echo $cp_ans ;?>" /><br/><br />
         <div style="float:left;">Mesajınız</div><div style="font-size:8px;color:red;float:left;padding-left:5px;">(zorunlu)</div><div class="temizlik"></div><br/>    
         <textarea id="cp_message" name="cp_message" cols="60%" rows="10"><?php echo $cp_message ;?></textarea><br/>
         <input type="submit" id="submit" name="submit" value="Gönder" />  
 
       </form>
 
     <?php
     } else {
      $displayName_array = explode(" ",$cp_name);
      $displayName = htmlentities(utf8_decode($displayName_array[0]));
 
      $header  = "MIME-Version: 1.0\n";
      $header .= "Content-Type: text/plain; charset=\"utf-8\"\n";
      $header .= "İletişim Talebi:" . encodeMailHeader($cp_name) . "<" . $cp_email . ">\n";
      $email_subject = "[" . get_settings('blogname') . "] " . encodeMailHeader($cp_name);
      $email_text  = "Yollayan: " . $cp_name . "\n" .
         "E-posta Adresi: " . $cp_email . "\n" .
         "Site Adresi: " . $cp_url . "\n\n" .
         $cp_message;
      if (@mail(get_settings('admin_email'), $email_subject, $email_text, $header)) {
       echo "<h2>Teşekkürler " . $displayName . ",</h2><p>İletişim talebin elime ulaştı en kısa sürede yanıt vereceğim!</p>";
      }
     }
     ?>
    <?php endwhile; ?>
 
  <?php endif; ?>
</div></div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Yorumlar (15)

  1. Tuncay dedi ki:

    Sanırım eklentimi silip sizin anlattıklarınızı uygulayacağım

  2. Kerim Potuk dedi ki:

    Burak bu admin’in mailine mi yolluyor mailleri yoksa bizim kod içinde bir yerde ayar felan mı yapmamız lazım

  3. Serhat dedi ki:

    Hocam Kodlar Çalışmıyo v3 te Ayrıca Sayfalara Yorum Yapma Özelliğini Nerden Kapayacağız v3 te ?

  4. Serhat dedi ki:

    Hocam Malesef Yine Çalışmıyor

  5. Serhat dedi ki:

    Hocam Yine Çalışmıyor Siteme Yükledim. Buyrun:
    http://www.oyunproblemi.com/iletisim

    Sizide Yorduk Ama :D

  6. buğra dedi ki:

    iletişim ekledim çalıştı iyi güzel ama mesajlar nereye gelecek kodlarda düzenleme yapmadan atın dediniz ?

  7. beren dedi ki:

    formdaki alanları istediğimiz gibi düzenleyebiliyormuyuz yoksa şablon olarak mı bu php

  8. adem dedi ki:

    merhaba hocam dediğınız gibi yaptım iletisime giriyorum ismi mail yazıyorum gönder diyorum mail gönderiyor ama mail gelmıyor