Интеграция контактной формы 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 с использованием ключа 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.
Готовы создать конечную точку формы?
Начните бесплатно за считанные секунды. Кредитная карта не требуется.