Home / Οδηγοί / Ενσωμάτωση φόρμας επικοινωνίας WordPress χωρίς πρόσθετα SMTP
ΟΔΗΓΟΣ ΕΝΣΩΜΑΤΩΣΗΣ · WORDPRESS & CMS

Ενσωμάτωση φόρμας επικοινωνίας WordPress χωρίς πρόσθετα SMTP

Εξαλείψτε τις αποτυχημένες παραδόσεις wp_mail(), την αποθήκευση κωδικού πρόσβασης καθαρού κειμένου στα wp_options και τις ογκώδεις προσθήκες δρομολογώντας τις υποβολές επαφών WordPress απευθείας στα τελικά σημεία της φόρμας Lugatu.

1. Το πρόβλημα με τα πρόσθετα SMTP του WordPress

Οι περισσότεροι ιστότοποι WordPress βασίζονται σε προσθήκες όπως το WP Mail SMTP για την αποστολή ειδοποιήσεων επαφών μέσω αλληλογραφίας PHP() ή αποθηκευμένων διαπιστευτηρίων SMTP. Όταν οι διευθύνσεις IP φιλοξενίας αλλάζουν ή οι πάροχοι φιλοξενίας αποκλείουν τη θύρα 587/465, τα ερωτήματα χάνονται σιωπηλά.

2. Ενσωμάτωση από την πλευρά του διακομιστή μέσω wp_remote_post()

Για προγραμματιστές θεμάτων και προσαρμοσμένες προσθήκες, προωθήστε τις υποβολές φορμών με ασφάλεια από τον διακομιστή σας WordPress χρησιμοποιώντας το κλειδί API του χώρου εργασίας σας χωρίς να αποκαλύπτετε μυστικά στους επισκέπτες του frontend.

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. Direct Sandboxed Embed Iframe Option

Εάν προτιμάτε μηδενικό κώδικα PHP, ενσωματώστε μια δημοσιευμένη φόρμα Lugatu απευθείας σε οποιαδήποτε σελίδα WordPress ή μπλοκ HTML Elementor χρησιμοποιώντας το αποκριτικό iframe του sandbox.

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>

Αμετάβλητη ασφάλεια & έλεγχος ταυτότητας

Οδηγίες ασφαλείας: Καθορίστε το LUGATU_API_KEY μέσα στο wp-config.php έξω από τη ρίζα ιστού, ποτέ σε σενάρια προσβάσιμα από τον πελάτη ή δημόσια αρχεία θεμάτων.

Αντιμετώπιση προβλημάτων και κοινά σφάλματα κατάποσης

Η wp_remote_post() επιστρέφει το σφάλμα cURL 28: Το χρονικό όριο της σύνδεσης έληξε

Βεβαιωθείτε ότι ο πάροχος φιλοξενίας σας επιτρέπει την εξερχόμενη κίνηση HTTPS στη θύρα 443 στη διεύθυνση www.lugatu.com.

Συχνές Ερωτήσεις

Χρειάζεται να εγκαταστήσω ένα ειδικό πρόσθετο για να χρησιμοποιήσω το Lugatu στο WordPress;

Όχι. Μπορείτε είτε να χρησιμοποιήσετε την ελαφριά επίσημη εφαρμογή σύνδεσης WordPress είτε απλώς να ενσωματώσετε φόρμες χρησιμοποιώντας τυπικά αποσπάσματα iframe HTML ή AJAX.

Είστε έτοιμοι να δημιουργήσετε το τελικό σημείο της φόρμας σας;

Ξεκινήστε δωρεάν σε δευτερόλεπτα. Δεν απαιτείται πιστωτική κάρτα.

Ξεκινήστε δωρεάν →