WordPress-yhteystietolomakkeen integrointi ilman SMTP-laajennuksia
Eliminoi epäonnistuneet wp_mail()-toimitukset, selkeä tekstin salasanojen tallennus wp_optionsissa ja isot laajennukset reitittämällä WordPress-yhteystietojen lähetykset suoraan Lugatu-lomakkeiden päätepisteisiin.
1. WordPressin SMTP-laajennusten ongelma
Useimmat WordPress-sivustot käyttävät laajennuksia, kuten WP Mail SMTP, lähettääkseen yhteystietoja PHP-sähköpostin () tai tallennettujen SMTP-tunnistetietojen kautta. Kun isännöinnin IP-osoitteet muuttuvat tai isännöintipalveluntarjoajat estävät portin 587/465, tiedustelut katoavat hiljaa.
2. Palvelinpuolen integrointi wp_remote_post()
Teeman kehittäjät ja mukautetut laajennukset voivat lähettää lomakelähetykset turvallisesti WordPress-palvelimeltasi käyttämällä työtilan API-avainta paljastamatta salaisuuksia käyttöliittymän vierailijoille.
<?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. Suora hiekkalaatikko upotus Iframe -vaihtoehto
Jos pidät mieluummin nollasta PHP-koodista, upota julkaistu Lugatu-lomake suoraan mille tahansa WordPress-sivulle tai Elementorin HTML-lohkoon käyttämällä sandbox-muotoista responsiivista iframe-kehystä.
<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>
Security & Authentication Invariant
Suojausohje: Määritä LUGATU_API_KEY wp-config.php:ssä web-juuren ulkopuolella, ei koskaan asiakkaan käytettävissä olevissa komentosarjoissa tai julkisissa teematiedostoissa.
Vianetsintä ja yleiset nielemisvirheet
Varmista, että isännöintipalveluntarjoajasi sallii lähtevän HTTPS-liikenteen portissa 443 osoitteeseen www.lugatu.com.
Usein kysytyt kysymykset
Pitääkö minun asentaa erityinen laajennus käyttääkseni Lugatua WordPressissä?
Ei. Voit joko käyttää kevyttä virallista WordPress-liitintämme tai upottaa lomakkeita käyttämällä tavallisia HTML-iframe- tai AJAX-katkelmia.
Oletko valmis luomaan lomakkeen päätepisteen?
Aloita ilmaiseksi sekunneissa. Luottokorttia ei vaadita.