Інтеграція контактної форми WordPress без плагінів SMTP
Усуньте невдалу доставку wp_mail(), зберігання відкритих текстових паролів у wp_options і громіздкі плагіни, спрямувавши надсилання контактів WordPress безпосередньо до кінцевих точок форми Lugatu.
1. Проблема з плагінами SMTP WordPress
Більшість сайтів WordPress покладаються на такі плагіни, як WP Mail SMTP, щоб надсилати контактні сповіщення через PHP mail() або збережені облікові дані SMTP. Коли IP-адреси хостингу змінюються або хостинг-провайдери блокують порт 587/465, запити мовчки втрачаються.
2. Інтеграція на стороні сервера через wp_remote_post()
Для розробників тем і користувальницьких плагінів безпечно пересилайте надсилання форм із вашого сервера WordPress за допомогою ключа 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. Опція вставлення iframe у прямому пісочному середовищі
Якщо ви віддаєте перевагу нульовому коду PHP, вставте опубліковану форму Lugatu безпосередньо на будь-яку сторінку WordPress або 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 на WordPress?
Ні. Ви можете використовувати наш легкий офіційний конектор WordPress або просто вставляти форми за допомогою стандартних HTML iframe або фрагментів AJAX.
Готові створити кінцеву точку форми?
Почніть безкоштовно за лічені секунди. Кредитна картка не потрібна.