İletişim Formu her web sitenin ve blogun ihtiyacıdır. Çoğu webmaster bu formlar için eklenti kullanmaktadır, bu işi eklentisiz bir şekilde yapmak istemezmisiniz ?
Birinci Adım :
Yukarıdaki Kodları concact.php dosyasına kaydedin ve Ftpden tema dosyasına atın.
2. Adım : Wp Admin paneline giriş yapıp İletişim başlıklı yeni bir sayfa açıyoruz. İçerik yazmamıza gerek yok. Sayfa özelliğini resimdeki gibi yapıyoruz.
Bu kadar, artık iletişim formumuz hazır.
Uyarılar : Ftpye contact.php.txt olarak atarsanız türkçe karakter problemi yaşarsınız. Problem yaşayanlar ftp'ye attıkları contact.php yi yeniden düzenlesinler.
Yukarıdaki bölümden mesaj kutusu genişliğini ayarlayabilirsiniz.
Mailler admin profil sayfasında belirtilmiş mail adresine gönderilir.
Form sayfasında sidebarda kaymalar yaşayanlar <div id="content"> parametresi üzerinden gerekli düzenlemeleri yapsınlar. Kaynak için Mavişhime teşekkürler.
Birinci Adım :
PHP:
<?php
/*
Template Name: Contact
*/
$cp_question = "5+1 = ?";
$cp_answer = "6";
?>
<?php get_header(); ?>
<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'><strong>Gerekli tüm alanları doldurun.</strong></p>\n";
$send = 0;
}
if (!is_valid_email($cp_email)) {
$error_msg.= "<p style='color:#a00'><strong>Yanlış Bir Mail Adresi Girdiniz.</strong></p>\n";
$send = 0;
}
if (!is_valid_user($cp_ans)) {
$error_msg.= "<p style='color:#a00'><strong>Yanlış Cevap.</strong></p>\n";
$send = 0;
}
}
if (!$send) { ?>
<p>Soru, Görüş ve Önerilerinizi Bize Ulaştırmak
için İletişim Formunu Kullanabilirsiniz..</p><br />
<?php echo $error_msg;?>
<form method="post" action="<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" id="contactform">
<strong>İsim</strong>*<br/>
<input type="text" class="textbox" id="cp_name" name="cp_name" value="<?php echo $cp_name ;?>" /><br/><br/>
<strong>Mail</strong>*<br/>
<input type="text" class="textbox" id="cp_email" name="cp_email" value="<?php echo $cp_email ;?>" /><br/><br/>
<strong>Websiteniz</strong><br/>
<input type="text" class="textbox" id="cp_url" name="cp_url" value="<?php echo $cp_url ;?>" /><br/><br/>
<strong><?php echo $cp_question; ?> </strong>*<br/>
<input type="text" class="textbox" id="cp_ans" name="cp_ans" value="<?php echo $cp_ans ;?>" /><br/><br />
<strong>Mesajınız</strong>*<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 .= "From:" . encodeMailHeader($cp_name) . "<" . $cp_email . ">\n";
$email_subject = "[" . get_settings('blogname') . "] " . encodeMailHeader($cp_name);
$email_text = "From......: " . $cp_name . "\n" .
"Email.....: " . $cp_email . "\n" .
"Url.......: " . $cp_url . "\n\n" .
$cp_message;
if (@mail(get_settings('admin_email'), $email_subject, $email_text, $header)) {
echo "<h2>Tebrikler " . $displayName . ",</h2><p>Mesajınız Gönderildi.</p>";
}
}
?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Yukarıdaki Kodları concact.php dosyasına kaydedin ve Ftpden tema dosyasına atın.
2. Adım : Wp Admin paneline giriş yapıp İletişim başlıklı yeni bir sayfa açıyoruz. İçerik yazmamıza gerek yok. Sayfa özelliğini resimdeki gibi yapıyoruz.
Bu kadar, artık iletişim formumuz hazır.

Uyarılar : Ftpye contact.php.txt olarak atarsanız türkçe karakter problemi yaşarsınız. Problem yaşayanlar ftp'ye attıkları contact.php yi yeniden düzenlesinler.
PHP:
<textarea id="cp_message" name="cp_message" cols="60%" rows="10">
Yukarıdaki bölümden mesaj kutusu genişliğini ayarlayabilirsiniz.
Mailler admin profil sayfasında belirtilmiş mail adresine gönderilir.
Form sayfasında sidebarda kaymalar yaşayanlar <div id="content"> parametresi üzerinden gerekli düzenlemeleri yapsınlar. Kaynak için Mavişhime teşekkürler.