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(); ?>
Benzer Yazılar
Yorumlar (15)
Yorum yapabilmek için Giriş Yapmalısın!
Sanırım eklentimi silip sizin anlattıklarınızı uygulayacağım
Burak bu admin’in mailine mi yolluyor mailleri yoksa bizim kod içinde bir yerde ayar felan mı yapmamız lazım
Admin mailine yolluyor ;)
Localde çalışıyordum o yüzden gitmemiş mailllerim. Dandidik sitelerimden birine yükleyip denedim çalıştı saolasın :)
Hocam Kodlar Çalışmıyo v3 te Ayrıca Sayfalara Yorum Yapma Özelliğini Nerden Kapayacağız v3 te ?
Kodları yeniledim tekrar dener misiniz?
Hocam Malesef Yine Çalışmıyor
Hocam bu sefer kendi kullandığım dosyanın kodlarını ekledim, acaba nasıl bir sorun alıyorsunuz?
Hocam Yine Çalışmıyor Siteme Yükledim. Buyrun:
http://www.oyunproblemi.com/iletisim
Sizide Yorduk Ama :D
hocam belirttiğiniz sayfaya ulaşamıyorum.
iletişim ekledim çalıştı iyi güzel ama mesajlar nereye gelecek kodlarda düzenleme yapmadan atın dediniz ?
WordPress’e kayıt olurken kullandığınız yönetici hesabının mail adresine gelecektir :)
formdaki alanları istediğimiz gibi düzenleyebiliyormuyuz yoksa şablon olarak mı bu php
merhaba hocam dediğınız gibi yaptım iletisime giriyorum ismi mail yazıyorum gönder diyorum mail gönderiyor ama mail gelmıyor
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