Przekierowanie użytkowników na konkretną stronę po przesłaniu formularza w WordPressie
Objaśnienie
Oto jak możesz przekierować użytkowników na konkretną stronę po przesłaniu formularza na swojej stronie WordPress.
Obsługa przesyłania formularza:
- Kod sprawdza, czy formularz został przesłany za pomocą specjalnej nazwy przycisku.
- Używa zabezpieczenia o nazwie "nonce", aby upewnić się, że przesłanie formularza jest bezpieczne.
- Po przetworzeniu danych formularza (takich jak oczyszczenie tekstu) przekierowuje użytkowników na stronę, którą wybierzesz.
- Zmień '/thank-you/' na stronę, którą chcesz, aby użytkownicy zobaczyli po przesłaniu formularza.
Wyświetlanie formularza:
- Formularz jest tworzony z prostym polem tekstowym i przyciskiem przesyłania.
- Pole nonce jest dołączone dla bezpieczeństwa.
Używanie formularza:
- Dostępny jest shortcode, który umożliwia łatwe dodanie formularza do dowolnej strony lub wpisu. Użyj po prostu
[wp_dudecom_form]
w miejscu, gdzie chcesz, aby formularz się pojawił.
Ta konfiguracja zapewnia, że po wypełnieniu i przesłaniu formularza użytkownicy są płynnie przekierowywani na stronę, którą wybierzesz, na przykład stronę "Dziękujemy". Pamiętaj tylko, aby zaktualizować URL, aby odpowiadał twojemu pożądanemu miejscu docelowego!
Kod
<?php
// Function to handle form submission and redirect
function wp_dudecom_handle_form_submission() {
// Check if the form is submitted
if ( isset( $_POST['wp_dudecom_form_submit'] ) ) {
// Verify nonce for security
if ( ! isset( $_POST['wp_dudecom_form_nonce'] ) || ! wp_verify_nonce( $_POST['wp_dudecom_form_nonce'], 'wp_dudecom_form_action' ) ) {
wp_die( 'Nonce verification failed!' );
}
// Process form data here
// Example: $form_data = sanitize_text_field( $_POST['form_field_name'] );
// Redirect to a specific page after form submission
$redirect_url = home_url( '/thank-you/' ); // Change '/thank-you/' to your desired page slug
wp_safe_redirect( $redirect_url );
exit;
}
}
add_action( 'init', 'wp_dudecom_handle_form_submission' );
// Function to display the form
function wp_dudecom_display_form() {
?>
<form method="post" action="">
<?php wp_nonce_field( 'wp_dudecom_form_action', 'wp_dudecom_form_nonce' ); ?>
<!-- Add your form fields here -->
<input type="text" name="form_field_name" required />
<input type="submit" name="wp_dudecom_form_submit" value="Submit" />
</form>
<?php
}
// Shortcode to display the form
function wp_dudecom_form_shortcode() {
ob_start();
wp_dudecom_display_form();
return ob_get_clean();
}
add_shortcode( 'wp_dudecom_form', 'wp_dudecom_form_shortcode' );
?>
Instrukcja
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub do pliku własnej wtyczki.
Wymagania wstępne:
- Upewnij się, że masz dostęp do plików motywu WordPress lub własnej wtyczki.
- Podstawowa znajomość shortcode'ów WordPress i slugów stron.
Kroki wdrożenia:
- Otwórz panel administracyjny WordPress.
- Przejdź do Wygląd > Edytor motywu, jeśli używasz
functions.php
, lub do Wtyczki > Edytor, jeśli korzystasz z własnej wtyczki. - Znajdź plik
functions.php
lub plik swojej własnej wtyczki. - Skopiuj i wklej podany kod do pliku.
- Zmodyfikuj zmienną
$redirect_url
, aby wskazywała na pożądany slug strony, np.'/thank-you/'
. - Zapisz zmiany w pliku.
- Aby wyświetlić formularz na stronie lub w poście, użyj shortcode'u
[wp_dudecom_form]
w edytorze treści, w miejscu, gdzie chcesz, aby formularz się pojawił. - Przetestuj formularz, wysyłając go, i upewnij się, że przekierowuje na wskazaną stronę.
Ten przewodnik pomoże Ci skonfigurować formularz, który przekierowuje użytkowników na określoną stronę po wysłaniu, poprawiając doświadczenia użytkowników, prowadząc ich do strony "Dziękujemy" lub innej wybranej przez Ciebie strony.
Potrzebujesz pomocy przy wdrożeniu lub zaawansowanej funkcjonalności? Odwiedź wp-dude.com po profesjonalne usługi WordPress.