Ana Sayfa / Rehberler / WordPress Formlarını E-posta Eklentisi Olmadan Lugatu’ya Bağlama
ENTEGRASYON REHBERİ · WORDPRESS VE CMS

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.

functions.php php
<?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.

wordpress-iframe.html html
<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

wp_remote_post() zaman aşımı (cURL error 28) hatası veriyor

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.

Ücretsiz Başlayın →