WordPress Formlarını E-posta Eklentisi Olmadan Lugatu’ya Bağlama
Bozulan wp_mail() gönderimlerini, wp_options tablosunda saklanan düz metin şifreleri ve ağır eklentileri geride bırakın. WordPress form yanıtlarını doğrudan Lugatu form endpoint’leri ile toplayın.
1. WordPress SMTP Eklentilerinin Yarattığı Sorunlar
Çoğu WordPress sitesi form bildirimleri için WP Mail SMTP gibi eklentiler kullanır. Ancak sunucu port engelleri veya hosting IP değişiklikleri nedeniyle müşteri mesajları çoğu zaman sessizce kaybolur.
2. Sunucu Tarafı wp_remote_post() ile Güvenli Entegrasyon
Tema geliştiricileri ve özel eklentiler için, WordPress sunucunuz üzerinden gizli API anahtarınızı kullanarak form verilerini güvenle iletin.
<?php
// WordPress sunucu taraflı güvenli form yönlendirme
function handle_custom_contact_submission() {
if ( ! isset( $_POST['contact_nonce'] ) || ! wp_verify_nonce( $_POST['contact_nonce'], 'contact_action' ) ) {
wp_send_json_error( array( 'message' => 'Güvenlik doğrulaması başarısız.' ), 403 );
}
// Bal küpü (honeypot) spam botu tuzağı kontrolü
if ( ! empty( $_POST['_gotcha'] ) ) {
wp_send_json_success( array( 'message' => 'Teşekkürler! Mesajınız alındı.' ) );
return;
}
$name = sanitize_text_field( $_POST['name'] ?? '' );
$email = sanitize_email( $_POST['email'] ?? '' );
$message = sanitize_textarea_field( $_POST['message'] ?? '' );
$payload = array(
'fields' => array(
'name' => $name,
'email' => $email,
'message' => $message,
),
);
$api_url = 'https://www.lugatu.com/api/v1/forms/' . LUGATU_FORM_GUID . '/submissions';
$response = wp_remote_post( $api_url, array(
'headers' => array(
'Authorization' => 'Bearer ' . LUGATU_API_KEY,
'Content-Type' => 'application/json',
'Idempotency-Key' => wp_generate_uuid4(),
),
'body' => wp_json_encode( $payload ),
'timeout' => 10,
) );
if ( is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) >= 400 ) {
wp_send_json_error( array( 'message' => 'Mesaj iletilemedi.' ), 500 );
}
wp_send_json_success( array( 'message' => 'Teşekkürler! Mesajınız alındı.' ) );
}
add_action( 'wp_ajax_custom_contact', 'handle_custom_contact_submission' );
add_action( 'wp_ajax_nopriv_custom_contact', 'handle_custom_contact_submission' );
3. Kodsuz Gömülü Iframe Seçeneği
PHP kodu yazmak istemiyorsanız, yayınlanmış formunuzu herhangi bir WordPress sayfasına veya Elementor HTML bileşenine duyarlı iframe ile gömebilirsiniz.
<iframe
src="https://www.lugatu.com/embed/forms/YOUR_PUBLIC_FORM_ID"
width="100%"
height="540"
frameborder="0"
style="border:none; border-radius:16px; overflow:hidden;"
title="İletişim Formu">
</iframe>
Güvenlik ve Kimlik Doğrulama Standardı
Güvenlik Talimatı: LUGATU_API_KEY anahtarını wp-config.php dosyası içinde tanımlayın, asla temaların istemci tarafı dosyalarına veya doğrudan veritabanına açık şifre olarak yazmayın.
Sorun Giderme ve Yaygın Hatalar
Hosting sağlayıcınızın 443 portu üzerinden www.lugatu.com adresine giden HTTPS trafiğine izin verdiğinden emin olun.
Sıkça Sorulan Sorular
WordPress üzerinde Lugatu kullanmak için özel eklenti zorunlu mu?
Hayır. İster hafif resmi eklentimizi kullanabilir, ister standart iframe veya AJAX kodlarıyla formu sitenize bağlayabilirsiniz.
Kendi formunuzu oluşturmaya hazır mısınız?
Saniyeler içinde ücretsiz başlayın. Kredi kartı gerektirmez.