Arkadaşlar Bazı arkadaşların aradığı birşey, Eklentisiz Wordpress 'te iletişim formu oluşturmaktı. Biraz Araştırma yaparak bir Blog sahibi arkadaşın sitesine rastgeldim. Çokta güzel açıklamış. Ulaşma şansım olmadı kendilerine. Sitesindeki Yazıyı, Copy yapıp size bildiriyorum. Inşl, İşine yarayan olacaktır..

Başlayalım;

Webmaster olarak bir çok kişinin tercihi hazır içerik yönetim sistemleri kullanmak. Bunların da başında WordPress geliyor. Her şey düşünülmüş demek yanlış olur. İçerik yönetimi oluşturulmuş ama geliştirmek ve bir şeyler katmak kullanıcılara kalıyor.

Elinde 2 satır kod olanlar bunu eklentiye dökmüş ve kullanımı kolay olsun diye öyle paylaşıyor. Ancak her şeyi de eklenti ile halletmek doğru sayılmaz.

Şimdi sizlerle paylaşacağım kodlar sayesinde kolayca bir iletişim formu oluşturabilir ve sayfa şablonu olarak seçebilirsiniz.

Kodlar bana ait değil ancak Türkçeleştirme ve üzerinde değişiklik yaptım. Mesela e-posta adresinizi belirlemek için kodlarda düzeltme yapmak zorundaydınız. Gönderici yerine site adınızı ve e-posta adresi yerine de yönetici mail adresini otomatik alacak şekilde değiştirdim. Yapmanız gereken dosyaları klasörlere taşımak olacaktır.

Kodlar uzun olduğu için burada göstermek istemiyorum. Ancak gönderen kişinin mail adresini vb değiştirmek isterseniz yapmanız gerekenleri kısaca göstereyim.


if(!isset($hasError)) {
$ste = get_option('home');
$emailTo = get_option('admin_email');
$subject = 'İletişim formunuzdan yeni mesaj yazıldı';
$sendCopy = trim($_POST['sendCopy']);
$body = "Ad Soyad: $name \n\nE-posta: $email \n\nMesaj: $comments";
$headers = 'From: <'.$ste.'> <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, $subject, $body, $headers);
if($sendCopy == true) {
$subject = 'Gönderdiğiniz mesajın kopyası';
$headers = 'From: <'.$ste.'> <'.$emailTo.'>';
mail($email, $subject, $body, $headers);
}
$emailSent = true;
}


Yukarıda 2. ve 3. satırda $ste ve $emailTo değişkenlerini görüyorsunuz. Bu kodları birazdan paylaşacağım iletişim sayfası şablonunuzda bulup değiştirmek isterseniz değişkenlerin eşitliklerindeki get_option ile başlayan ve noktalı virgüle kadar olan kısmı değiştirip tek tırnak içerisinde kendi yazmak istediğiniz e-posta ya da göndericiyi girebilirsiniz.

$subject değişkeni ise size iletişim formu ile yazılan mail geldiğinde gönderen adının karşısında gözüken ifadeyi belirler.

Kodlarda form satırı başlamadan önce javascript çağırıyoruz. Aşağıdaki kodları bulup birazdan vereceğim javascript kodunu atacağınız klasör yolunu değiştirebilirsiniz.

<script>/js/iletisim-formu.js"></script>

js/iletisim-formu.js olarak biten adres tema klsörünüzden sonra devam eden dosyanın yoludur. Yani tem klasörüne atacak olursanız js kısmını silebilirsiniz.

Sayfa şablonunun ismini en üst kısımdan Template Name: olarak değiştirebilirsiniz.

temanızda jquery kullanıyorsanız bu dosyayı tekrar çağırmanıza gerek yoktur. Ben de çağırmadım ancak sizde yoksa, iletişim formu uyarılarının sayfa yenilemeden gözükmesi için bu dosyayı çağırmanız gerekir. Bu yüzden yukarıda verdiğim javascript kodunun altına aynı şekilde kopyalayıp iletisim-formu.js yerine ismini jquery.js yapmak yeterli olacaktır.

Sayfa şablonunu yani php dosyasını direk tema dizinine atın.

Javascript kodlarını ise tema dizinine js isminde klasör açıp içerisine atın. Ya da yukarıda yolunu değiştirmeyi anlattığım gibi dilediğiniz yere atıp dilediğiniz yolu yazabilirsiniz.

Css kodlarına ihtiyacınız olabilir. “hata” ve “tamam” isimli iki adet class mevcut kodlarda. Temada css kodlarınıza
.hata{color:red}.tamam{color:green} eklemeniz yeterlidir.

Dosyaları ekledikten sonra admin panelinizden bir adet sayfa oluşturup sayfa şablonu olarak iletisim formunu seçmeniz halinde iletişim sayfanızı aktif etmiş olursunuz.

Dosyaları buradan İndirebilirsiniz.

Not: sayfa şablonunda kendi temamdaki class ve id’ler kullanıldı. Üst kısımda ana-sol ve ana-govde olarak tanımlanan alanları kendi page.php dosyanızdaki ile değiştirmeniz gerekebilir.

Not2: Bu yazı tamamen, buradan alınmıştır.
Arkadaşa çok teşekkür ediyoruz, Çok yararlı bir yazı olduğu için paylaşma gereği duydum, İnşaallah Birilerine yardımcı olalim derken, birilerini kırmamışızdır.

Saygılarımla.