Snippet

Dodaj łatwo pola niestandardowe do profili użytkowników WordPressa

Jak dodać niestandardowe pola do profili użytkowników WordPressDodaj niestandardowe pola do profili użytkowników WordPressWordPress dodaj niestandardowe pola profilu użytkownikaNiestandardowe pola w rejestracji użytkownika WordPressProgramowo dodaj niestandardowe pola do profili użytkowników WordPressNajlepsza wtyczka do niestandardowych pól użytkowników WordPressTutorial dotyczący niestandardowych pól profilu użytkownika WordPressDodaj dodatkowe pola do rejestracji użytkownika WordPressWtyczka do niestandardowych pól profilu użytkownika WordPressJak dostosować profile użytkowników WordPress

Objaśnienie

Chcesz dodać dodatkowe pola do profili użytkowników w WordPressie? Ten fragment kodu robi dokładnie to, dodając pola na numer telefonu i adres.

Dodawanie pól do profili użytkowników:

  • Podczas przeglądania lub edytowania profilu użytkownika pojawiają się dwa nowe pola: jedno na numer telefonu, a drugie na adres.
  • Pola te są dodawane za pomocą hooków, które wyświetlają je na stronie profilu użytkownika.

Zapisywanie danych:

  • Gdy użytkownik aktualizuje swój profil, dane wprowadzone w tych polach są bezpiecznie zapisywane.
  • Kod sprawdza, czy bieżący użytkownik ma uprawnienia do edytowania profilu przed zapisaniem.

Dodawanie pól do rejestracji:

  • Nowi użytkownicy mogą również wprowadzić swój numer telefonu i adres podczas rejestracji.
  • Pola są dodawane do formularza rejestracji za pomocą hooka.

Zapisywanie danych rejestracyjnych:

  • Po zarejestrowaniu się nowego użytkownika, jego numer telefonu i adres są zapisywane w jego profilu.

Ta konfiguracja zapewnia, że zarówno istniejący, jak i nowi użytkownicy mogą mieć dodatkowe informacje przechowywane w swoich profilach, co ułatwia zarządzanie dodatkowymi danymi bez potrzeby używania wtyczki.

Kod

1<?php 2// Hook to add custom fields to the user profile page 3add_action('show_user_profile', 'wp_dudecom_add_custom_user_profile_fields'); 4add_action('edit_user_profile', 'wp_dudecom_add_custom_user_profile_fields'); 5 6function wp_dudecom_add_custom_user_profile_fields($user) { 7 ?> 8 <h3>Additional Information</h3> 9 <table class="form-table"> 10 <tr> 11 <th><label for="phone_number">Phone Number</label></th> 12 <td> 13 <input type="text" name="phone_number" id="phone_number" value="<?php echo esc_attr(get_the_author_meta('phone_number', $user->ID)); ?>" class="regular-text" /><br /> 14 <span class="description">Please enter your phone number.</span> 15 </td> 16 </tr> 17 <tr> 18 <th><label for="address">Address</label></th> 19 <td> 20 <input type="text" name="address" id="address" value="<?php echo esc_attr(get_the_author_meta('address', $user->ID)); ?>" class="regular-text" /><br /> 21 <span class="description">Please enter your address.</span> 22 </td> 23 </tr> 24 </table> 25 <?php 26} 27 28// Hook to save custom fields from the user profile page 29add_action('personal_options_update', 'wp_dudecom_save_custom_user_profile_fields'); 30add_action('edit_user_profile_update', 'wp_dudecom_save_custom_user_profile_fields'); 31 32function wp_dudecom_save_custom_user_profile_fields($user_id) { 33 // Check if the current user has permission to edit the user profile 34 if (!current_user_can('edit_user', $user_id)) { 35 return false; 36 } 37 38 // Sanitize and update user meta data 39 if (isset($_POST['phone_number'])) { 40 update_user_meta($user_id, 'phone_number', sanitize_text_field($_POST['phone_number'])); 41 } 42 43 if (isset($_POST['address'])) { 44 update_user_meta($user_id, 'address', sanitize_text_field($_POST['address'])); 45 } 46} 47 48// Hook to add custom fields to the user registration form 49add_action('register_form', 'wp_dudecom_add_custom_user_registration_fields'); 50 51function wp_dudecom_add_custom_user_registration_fields() { 52 ?> 53 <p> 54 <label for="phone_number"><?php _e('Phone Number', 'wp-dudecom'); ?><br /> 55 <input type="text" name="phone_number" id="phone_number" class="input" value="<?php echo esc_attr(wp_unslash($_POST['phone_number'] ?? '')); ?>" size="25" /></label> 56 </p> 57 <p> 58 <label for="address"><?php _e('Address', 'wp-dudecom'); ?><br /> 59 <input type="text" name="address" id="address" class="input" value="<?php echo esc_attr(wp_unslash($_POST['address'] ?? '')); ?>" size="25" /></label> 60 </p> 61 <?php 62} 63 64// Hook to save custom fields from the user registration form 65add_action('user_register', 'wp_dudecom_save_custom_user_registration_fields'); 66 67function wp_dudecom_save_custom_user_registration_fields($user_id) { 68 if (isset($_POST['phone_number'])) { 69 update_user_meta($user_id, 'phone_number', sanitize_text_field($_POST['phone_number'])); 70 } 71 72 if (isset($_POST['address'])) { 73 update_user_meta($user_id, 'address', sanitize_text_field($_POST['address'])); 74 } 75} 76?>

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 możliwość stworzenia własnej wtyczki.

Kroki wdrożenia:

  1. Dostęp do plików WordPress:
    • Zaloguj się do panelu administracyjnego WordPress.
    • Przejdź do Wygląd > Edytor motywu, jeśli dodajesz kod do functions.php, lub użyj klienta FTP lub menedżera plików, aby uzyskać dostęp do plików WordPress, jeśli tworzysz własną wtyczkę.
  2. Dodaj kod:
    • Skopiuj podany fragment kodu.
    • Wklej go do pliku functions.php aktywnego motywu lub do pliku własnej wtyczki.
  3. Zapisz zmiany:
    • Jeśli korzystasz z Edytora motywu, kliknij Aktualizuj plik, aby zapisać zmiany.
    • Jeśli korzystasz z własnej wtyczki, upewnij się, że wtyczka jest aktywowana w panelu administracyjnym WordPress w sekcji Wtyczki > Zainstalowane wtyczki.
  4. Zweryfikuj wdrożenie:
    • Przejdź do Użytkownicy > Twój profil w panelu administracyjnym WordPress, aby zobaczyć nowe pola.
    • Przetestuj aktualizację pól i zapisanie profilu, aby upewnić się, że dane są poprawnie przechowywane.
    • Przetestuj formularz rejestracji, aby upewnić się, że nowi użytkownicy mogą wprowadzać swój numer telefonu i adres.

Jeśli potrzebujesz pomocy przy wdrożeniu lub bardziej zaawansowanej funkcjonalności, rozważ skorzystanie z usług wp-dude.com.