Home / Sprievodcovia / Integrácia kontaktného formulára WordPress bez doplnkov SMTP
INTEGRAČNÁ PRÍRUČKA · WORDPRESS & CMS

Integrácia kontaktného formulára WordPress bez doplnkov SMTP

Eliminujte neúspešné doručenie wp_mail(), ukladanie hesiel s čistým textom v wp_options a objemné doplnky smerovaním odoslaných kontaktov WordPress priamo do koncových bodov formulára Lugatu.

1. Problém s WordPress SMTP pluginmi

Väčšina stránok WordPress sa spolieha na doplnky ako WP Mail SMTP na odosielanie kontaktných upozornení prostredníctvom pošty PHP () alebo uložených poverení SMTP. Keď sa hostingové adresy IP zmenia alebo poskytovatelia hostingu zablokujú port 587/465, otázky sa v tichosti stratia.

2. Integrácia na strane servera prostredníctvom wp_remote_post()

Pre vývojárov tém a vlastné doplnky posielajte odoslané formuláre bezpečne zo svojho servera WordPress pomocou kľúča API pracovného priestoru bez toho, aby ste návštevníkom frontendu odhalili tajomstvá.

functions.php php
<?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. Možnosť priameho vloženia prvku iframe v karanténe

Ak dávate prednosť nulovému kódu PHP, vložte publikovaný formulár Lugatu priamo na akúkoľvek stránku WordPress alebo blok HTML Elementor pomocou nášho sandboxovaného responzívneho prvku iframe.

wordpress-embed.html html
<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>

Bezpečnosť a nemenné overenie

Bezpečnostné pokyny: Definujte kľúč LUGATU_API_KEY v súbore wp-config.php mimo koreňového adresára webu, nikdy nie v skriptoch prístupných klientovi alebo v súboroch verejných tém.

Riešenie problémov a bežné chyby príjmu

wp_remote_post() vracia chybu cURL 28: Časový limit pripojenia vypršal

Uistite sa, že váš poskytovateľ hostingu povoľuje odchádzajúce prenosy HTTPS na porte 443 na www.lugatu.com.

Často kladené otázky

Musím si nainštalovať špeciálny doplnok, aby som mohol používať Lugatu na WordPress?

Nie. Môžete použiť náš odľahčený oficiálny konektor WordPress alebo jednoducho vložiť formuláre pomocou štandardných útržkov HTML iframe alebo AJAX.

Ste pripravení vytvoriť koncový bod formulára?

Začnite zadarmo za pár sekúnd. Nevyžaduje sa žiadna kreditná karta.

Začnite zadarmo →