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

Ev » Wordpress » WordPress Eklentisiz İletişim Sayfası Yapımı

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

“WordPress Eklentisiz İletişim Sayfası Yapımı” için 15 yanıt

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

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

      1. Localde çalışıyordum o yüzden gitmemiş mailllerim. Dandidik sitelerimden birine yükleyip denedim çalıştı saolasın :)

  3. Serhat

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

    1. Kodları yeniledim tekrar dener misiniz?

  4. Serhat

    Hocam Malesef Yine Çalışmıyor

    1. Hocam bu sefer kendi kullandığım dosyanın kodlarını ekledim, acaba nasıl bir sorun alıyorsunuz?

  5. Serhat

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

    Sizide Yorduk Ama :D

    1. hocam belirttiğiniz sayfaya ulaşamıyorum.

  6. buğra

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

    1. WordPress’e kayıt olurken kullandığınız yönetici hesabının mail adresine gelecektir :)

  7. beren

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

  8. adem

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

    1. Sitenizin bulunduğu sunucunun SMTP ayalarında sorun olabilir, detaylı bilgi için burada ki yazıyı okuyunuz http://burakisci.com/wordpress-mail-gonderme-sorunu-ve-smtp-ayarlari.html

Bir yanıt yazın