Snippet

Dodaj reCAPTCHA do formularza kontaktowego WordPress w celu ochrony przed spamem

Jak dodać recaptcha do formularza kontaktowego WordPressDodaj captcha do formularza WordPressZintegrować recaptcha z formularzem kontaktowym 7Skonfiguruj recaptcha w formularzach WordPressUżyj google recaptcha w formularzu kontaktowym WordPressKonfiguracja recaptcha w formularzu kontaktowym WordPressDodaj google captcha do formularza WordPressJak chronić formularze WordPress za pomocą recaptchaOchrona formularzy WordPress przed spamem z użyciem recaptchaZainstaluj recaptcha w formularzu kontaktowym WordPress

Objaśnienie

Aby dodać reCAPTCHA do formularza kontaktowego WordPress, musisz wykonać kilka prostych kroków. Pomoże to chronić Twój formularz przed spamem i botami.

Krok 1: Załaduj skrypt reCAPTCHA

Najpierw upewnij się, że skrypt reCAPTCHA jest załadowany na Twojej stronie kontaktowej. Kod sprawdza, czy bieżąca strona to Twoja strona kontaktowa, a następnie ładuje niezbędny skrypt z Google. Dostosuj warunek, aby pasował do Twojej konkretnej strony kontaktowej.

Krok 2: Wyświetl reCAPTCHA w Contact Form 7

Aby pokazać widget reCAPTCHA w formularzu, kod dodaje filtr, który wstawia element reCAPTCHA. Pamiętaj, aby zastąpić 'your-site-key' swoim rzeczywistym kluczem witryny z Google reCAPTCHA.

Krok 3: Weryfikacja odpowiedzi reCAPTCHA

Gdy ktoś wyśle formularz, kod weryfikuje odpowiedź reCAPTCHA za pomocą Twojego klucza tajnego. Jeśli weryfikacja się nie powiedzie, formularz zostanie unieważniony, a użytkownik zostanie poproszony o ponowne spróbowanie. Upewnij się, że zastąpiłeś 'your-secret-key' swoim rzeczywistym kluczem tajnym.

Krok 4: Dodaj pole reCAPTCHA do formularza

Na koniec kod dodaje miejsce na pole reCAPTCHA w Twojej konfiguracji Contact Form 7. Można to zrobić, dodając prosty shortcode [your-recaptcha] do formularza.

Postępując zgodnie z tymi krokami, zintegrowasz reCAPTCHA z formularzem kontaktowym WordPress, zapewniając dodatkową warstwę zabezpieczeń przed spamem.

Kod

1// Function to enqueue reCAPTCHA script 2function wp_dudecom_enqueue_recaptcha_script() { 3 if (is_page('contact')) { // Adjust the condition to match your contact form page 4 wp_enqueue_script('google-recaptcha', 'https://www.google.com/recaptcha/api.js', array(), null, true); 5 } 6} 7add_action('wp_enqueue_scripts', 'wp_dudecom_enqueue_recaptcha_script'); 8 9// Function to display reCAPTCHA in Contact Form 7 10function wp_dudecom_add_recaptcha_to_cf7($tag) { 11 if ($tag['name'] == 'your-recaptcha') { 12 return '<div class="g-recaptcha" data-sitekey="your-site-key"></div>'; // Replace 'your-site-key' with your actual site key 13 } 14 return $tag; 15} 16add_filter('wpcf7_form_elements', 'wp_dudecom_add_recaptcha_to_cf7'); 17 18// Function to verify reCAPTCHA response 19function wp_dudecom_verify_recaptcha($result, $tags) { 20 $recaptcha_secret = 'your-secret-key'; // Replace 'your-secret-key' with your actual secret key 21 $recaptcha_response = $_POST['g-recaptcha-response']; 22 23 $response = wp_remote_get("https://www.google.com/recaptcha/api/siteverify?secret={$recaptcha_secret}&response={$recaptcha_response}"); 24 $response_body = wp_remote_retrieve_body($response); 25 $result_data = json_decode($response_body, true); 26 27 if (!$result_data['success']) { 28 $result->invalidate($tags['your-recaptcha'], 'reCAPTCHA verification failed. Please try again.'); 29 } 30 31 return $result; 32} 33add_filter('wpcf7_validate', 'wp_dudecom_verify_recaptcha', 10, 2); 34 35// Function to add reCAPTCHA field to Contact Form 7 36function wp_dudecom_add_recaptcha_field() { 37 echo '<p>[your-recaptcha]</p>'; 38} 39add_action('wpcf7_init', 'wp_dudecom_add_recaptcha_field');

Instrukcja

Lokalizacja pliku: Dodaj kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne:

  • Upewnij się, że masz zainstalowaną i aktywowaną wtyczkę Contact Form 7.
  • Pobierz swój klucz witryny oraz klucz tajny z witryny Google reCAPTCHA.

Kroki wdrożenia:

  1. Załaduj skrypt reCAPTCHA:
    • Znajdź funkcję wp_dudecom_enqueue_recaptcha_script w kodzie.
    • Upewnij się, że warunek is_page('contact') odpowiada slugowi lub ID twojej strony formularza kontaktowego.
  2. Wyświetl reCAPTCHA w Contact Form 7:
    • Znajdź funkcję wp_dudecom_add_recaptcha_to_cf7.
    • Zamień 'your-site-key' na swój rzeczywisty klucz witryny z Google reCAPTCHA.
  3. Zweryfikuj odpowiedź reCAPTCHA:
    • Znajdź funkcję wp_dudecom_verify_recaptcha.
    • Zamień 'your-secret-key' na swój rzeczywisty klucz tajny z Google reCAPTCHA.
  4. Dodaj pole reCAPTCHA do formularza:
    • Upewnij się, że funkcja wp_dudecom_add_recaptcha_field jest obecna.
    • Dodaj shortcode [your-recaptcha] do swojego formularza Contact Form 7 w miejscu, gdzie chcesz, aby reCAPTCHA się pojawiła.

Postępując zgodnie z tymi krokami, pomyślnie zintegrowasz reCAPTCHA z formularzem kontaktowym WordPress, zwiększając jego bezpieczeństwo przed spamem i botami.

Jeśli potrzebujesz dalszej pomocy lub zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.