ادغام فرم تماس وردپرس بدون پلاگین SMTP
تحویل ناموفق wp_mail()، ذخیره رمز عبور واضح در wp_options و افزونه های حجیم را با مسیریابی ارسالی های تماس وردپرس مستقیماً به نقاط پایانی فرم Lugatu حذف کنید.
1. مشکل پلاگین های SMTP وردپرس
اکثر سایتهای وردپرس برای ارسال اعلانهای تماس از طریق نامه PHP () یا اعتبارنامههای SMTP ذخیره شده به افزونههایی مانند WP Mail SMTP متکی هستند. هنگامی که آدرس های IP میزبان تغییر می کند یا ارائه دهندگان میزبانی پورت 587/465 را مسدود می کنند، درخواست ها بی سر و صدا از بین می روند.
2. یکپارچه سازی سمت سرور از طریق wp_remote_post()
برای توسعه دهندگان تم و افزونه های سفارشی، فرم های ارسالی را به صورت ایمن از سرور وردپرس خود با استفاده از کلید API فضای کاری خود بدون افشای اسرار به بازدیدکنندگان فرانتند، فوروارد کنید.
<?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. Direct Sandboxed Embed Iframe Option
اگر کد PHP صفر را ترجیح میدهید، یک فرم منتشر شده Lugatu را مستقیماً در هر صفحه وردپرس یا بلوک HTML Elementor با استفاده از iframe پاسخگو ما در جعبه سند قرار دهید.
<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>
امنیت و احراز هویت ثابت
دستورالعمل امنیتی: LUGATU_API_KEY را در داخل wp-config.php خارج از ریشه وب تعریف کنید، هرگز در اسکریپت های قابل دسترسی مشتری یا فایل های تم عمومی.
عیب یابی و خطاهای رایج بلع
اطمینان حاصل کنید که ارائهدهنده میزبانی شما به ترافیک HTTPS خروجی در پورت 443 به www.lugatu.com اجازه میدهد.
سوالات متداول
آیا برای استفاده از Lugatu در وردپرس باید افزونه خاصی نصب کنم؟
نه. می توانید از رابط رسمی سبک وزن وردپرس ما استفاده کنید یا به سادگی فرم ها را با استفاده از iframe استاندارد HTML یا قطعه های AJAX جاسازی کنید.
برای ایجاد نقطه پایانی فرم خود آماده هستید؟
در عرض چند ثانیه به صورت رایگان شروع کنید. بدون نیاز به کارت اعتباری