Integracija WordPress obrasca za kontakt bez SMTP dodataka
Uklonite neuspjele isporuke wp_mail(), pohranjivanje lozinki jasnog teksta u wp_options i glomazne dodatke usmjeravanjem predaja kontakata WordPressa izravno na krajnje točke obrasca Lugatu.
1. Problem s WordPress SMTP dodacima
Većina WordPress stranica oslanja se na dodatke kao što je WP Mail SMTP za slanje obavijesti o kontaktima putem PHP mail() ili pohranjenih SMTP vjerodajnica. Kada se IP adrese hostinga promijene ili pružatelji usluga hostinga blokiraju port 587/465, upiti se tiho gube.
2. Integracija na strani poslužitelja putem wp_remote_post()
Za programere tema i prilagođenih dodataka, proslijedite slanje obrazaca na siguran način s vašeg WordPress poslužitelja koristeći svoj API ključ radnog prostora bez izlaganja tajni posjetiteljima na sučelju.
<?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. Opcija ugradnje iframea u izravnom sandboxu
Ako više volite nula PHP koda, ugradite objavljeni Lugatu obrazac izravno na bilo koju WordPress stranicu ili Elementor HTML blok pomoću našeg responzivnog iframea u sandboxu.
<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>
Sigurnost i provjera autentičnosti
Sigurnosne upute: Definirajte LUGATU_API_KEY unutar wp-config.php izvan web korijena, nikada u klijentski dostupnim skriptama ili datotekama javnih tema.
Rješavanje problema i uobičajene pogreške gutanja
Provjerite dopušta li vaš pružatelj usluga hostinga odlazni HTTPS promet na priključku 443 prema www.lugatu.com.
Često postavljana pitanja
Trebam li instalirati poseban dodatak za korištenje Lugatua na WordPressu?
Ne. Možete koristiti naš lagani službeni WordPress konektor ili jednostavno ugraditi obrasce koristeći standardni HTML iframe ili AJAX isječke.
Jeste li spremni za izradu krajnje točke obrasca?
Započnite besplatno za nekoliko sekundi. Kreditna kartica nije potrebna.