Home / Průvodci / Integrace kontaktního formuláře WordPress bez SMTP pluginů
INTEGRACE PRŮVODCE · WORDPRESS & CMS

Integrace kontaktního formuláře WordPress bez SMTP pluginů

Eliminujte neúspěšné doručování wp_mail(), ukládání hesel s čistým textem ve wp_options a objemné pluginy směrováním odeslaných kontaktů WordPress přímo do koncových bodů formuláře Lugatu.

1. Problém s pluginy WordPress SMTP

Většina webů WordPress se spoléhá na pluginy jako WP Mail SMTP k odesílání kontaktních oznámení prostřednictvím PHP mail() nebo uložených přihlašovacích údajů SMTP. Když se hostitelské IP adresy změní nebo poskytovatelé hostingu zablokují port 587/465, dotazy se tiše ztratí.

2. Integrace na straně serveru pomocí wp_remote_post()

Pro vývojáře motivů a vlastní pluginy přepošlete formuláře bezpečně ze serveru WordPress pomocí klíče API pracovního prostoru, aniž byste návštěvníkům frontendu odhalili tajemství.

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žnost přímého vložení iframe v izolovaném prostoru

Pokud dáváte přednost nulovému kódu PHP, vložte publikovaný formulář Lugatu přímo na jakoukoli stránku WordPress nebo blok HTML Elementor pomocí našeho sandboxovaného responzivního 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>

Neměnné zabezpečení a ověřování

Bezpečnostní instrukce: Definujte klíč LUGATU_API_KEY uvnitř wp-config.php mimo webový kořenový adresář, nikdy ne ve skriptech přístupných klientovi nebo veřejných souborech motivů.

Odstraňování problémů a běžné chyby při příjmu

wp_remote_post() vrací chybu cURL 28: Časový limit připojení vypršel

Ujistěte se, že váš poskytovatel hostingu umožňuje odchozí provoz HTTPS na portu 443 na www.lugatu.com.

Často kladené otázky

Musím nainstalovat speciální plugin, abych mohl používat Lugatu na WordPress?

Ne. Můžete buď použít náš odlehčený oficiální konektor WordPress, nebo jednoduše vložit formuláře pomocí standardních HTML iframe nebo AJAX fragmentů.

Jste připraveni vytvořit koncový bod formuláře?

Začněte zdarma během několika sekund. Není vyžadována žádná kreditní karta.

Začněte zdarma →