Integrasi Formulir Kontak WordPress Tanpa Plugin SMTP
Hilangkan pengiriman wp_mail() yang gagal, penyimpanan kata sandi cleartext di wp_options, dan plugin besar dengan merutekan pengiriman kontak WordPress langsung ke titik akhir formulir Lugatu.
1. Masalah dengan Plugin SMTP WordPress
Sebagian besar situs WordPress mengandalkan plugin seperti WP Mail SMTP untuk mengirim pemberitahuan kontak melalui PHP mail() atau kredensial SMTP yang disimpan. Ketika alamat IP hosting berubah atau penyedia hosting memblokir port 587/465, pertanyaan akan hilang secara diam-diam.
2. Integrasi Sisi Server melalui wp_remote_post()
Untuk pengembang tema dan plugin khusus, teruskan pengiriman formulir dengan aman dari server WordPress Anda menggunakan kunci API ruang kerja Anda tanpa mengungkapkan rahasia kepada pengunjung frontend.
<?php
// Secure WordPress server-side form forwarding
function handle_custom_contact_submission() {
if ( ! isset( $_POST['contact_nonce'] ) || ! wp_verify_nonce( $_POST['contact_nonce'], 'contact_action' ) ) {
wp_send_json_error( array( 'message' => 'Security check failed.' ), 403 );
}
// Silently drop automated spam if honeypot trap is filled
if ( ! empty( $_POST['_gotcha'] ) ) {
wp_send_json_success( array( 'message' => 'Thank you! Message received.' ) );
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' => 'Failed to deliver message.' ), 500 );
}
wp_send_json_success( array( 'message' => 'Thank you! Message received.' ) );
}
add_action( 'wp_ajax_custom_contact', 'handle_custom_contact_submission' );
add_action( 'wp_ajax_nopriv_custom_contact', 'handle_custom_contact_submission' );
3. Opsi Penyematan Iframe Sandbox Langsung
Jika Anda lebih suka tanpa kode PHP, sematkan formulir Lugatu yang diterbitkan langsung di halaman WordPress mana pun atau blok HTML Elementor menggunakan iframe responsif sandbox kami.
<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="Contact Form">
</iframe>
Keamanan & Otentikasi Invarian
Instruksi Keamanan: Tetapkan LUGATU_API_KEY di dalam wp-config.php di luar root web, jangan pernah dalam skrip yang dapat diakses klien atau file tema publik.
Pemecahan Masalah & Kesalahan Penyerapan Umum
Pastikan penyedia hosting Anda mengizinkan lalu lintas HTTPS keluar pada port 443 ke www.lugatu.com.
Pertanyaan yang Sering Diajukan
Apakah saya perlu menginstal plugin khusus untuk menggunakan Lugatu di WordPress?
Tidak. Anda dapat menggunakan konektor WordPress resmi kami yang ringan atau cukup menyematkan formulir menggunakan iframe HTML standar atau cuplikan AJAX.
Siap membuat titik akhir formulir Anda?
Mulailah secara gratis dalam hitungan detik. Tidak diperlukan kartu kredit.