تكامل نموذج الاتصال في WordPress بدون ملحقات SMTP
تخلص من عمليات تسليم wp_mail() الفاشلة، وتخزين كلمات المرور ذات النص الواضح في wp_options، والمكونات الإضافية الضخمة عن طريق توجيه عمليات إرسال جهات اتصال WordPress مباشرة إلى نقاط نهاية نموذج Lugatu.
1. مشكلة ملحقات WordPress SMTP
تعتمد معظم مواقع WordPress على المكونات الإضافية مثل WP Mail SMTP لإرسال إشعارات الاتصال عبر PHP mail() أو بيانات اعتماد SMTP المخزنة. عند تغيير عناوين IP للاستضافة أو قيام موفري الاستضافة بحظر المنفذ 587/465، يتم فقدان الاستفسارات بصمت.
2. التكامل من جانب الخادم عبر wp_remote_post()
بالنسبة لمطوري السمات والمكونات الإضافية المخصصة، يمكنك إعادة توجيه عمليات إرسال النماذج بشكل آمن من خادم WordPress الخاص بك باستخدام مفتاح واجهة برمجة تطبيقات مساحة العمل الخاصة بك دون الكشف عن الأسرار لزوار الواجهة الأمامية.
<?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. خيار تضمين Iframe المباشر في وضع الحماية
إذا كنت تفضل استخدام كود PHP الصفري، فقم بتضمين نموذج Lugatu منشور مباشرةً على أي صفحة WordPress أو كتلة Elementor HTML باستخدام إطار 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 على WordPress؟
لا، يمكنك إما استخدام موصل WordPress الرسمي خفيف الوزن أو ببساطة تضمين النماذج باستخدام HTML iframe القياسي أو مقتطفات AJAX.
هل أنت مستعد لإنشاء نقطة نهاية النموذج الخاص بك؟
ابدأ مجانًا في ثوانٍ. لا حاجة لبطاقة الائتمان.