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

Jak dodać niestandardowe pola do profili użytkowników WordPress; Dodaj niestandardowe pola do profili użytkowników WordPress; WordPress dodaj niestandardowe pola profilu użytkownika; Niestandardowe pola w rejestracji użytkownika WordPress; Programowo dodaj niestandardowe pola do profili użytkowników WordPress; Najlepsza wtyczka do niestandardowych pól użytkowników WordPress; Tutorial dotyczący niestandardowych pól profilu użytkownika WordPress; Dodaj dodatkowe pola do rejestracji użytkownika WordPress; Wtyczka do niestandardowych pól profilu użytkownika WordPress; Jak 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

<?php
// Hook to add custom fields to the user profile page
add_action('show_user_profile', 'wp_dudecom_add_custom_user_profile_fields');
add_action('edit_user_profile', 'wp_dudecom_add_custom_user_profile_fields');

function wp_dudecom_add_custom_user_profile_fields($user) {
    ?>
    <h3>Additional Information</h3>
    <table class="form-table">
        <tr>
            <th><label for="phone_number">Phone Number</label></th>
            <td>
                <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 />
                <span class="description">Please enter your phone number.</span>
            </td>
        </tr>
        <tr>
            <th><label for="address">Address</label></th>
            <td>
                <input type="text" name="address" id="address" value="<?php echo esc_attr(get_the_author_meta('address', $user->ID)); ?>" class="regular-text" /><br />
                <span class="description">Please enter your address.</span>
            </td>
        </tr>
    </table>
    <?php
}

// Hook to save custom fields from the user profile page
add_action('personal_options_update', 'wp_dudecom_save_custom_user_profile_fields');
add_action('edit_user_profile_update', 'wp_dudecom_save_custom_user_profile_fields');

function wp_dudecom_save_custom_user_profile_fields($user_id) {
    // Check if the current user has permission to edit the user profile
    if (!current_user_can('edit_user', $user_id)) {
        return false;
    }

    // Sanitize and update user meta data
    if (isset($_POST['phone_number'])) {
        update_user_meta($user_id, 'phone_number', sanitize_text_field($_POST['phone_number']));
    }

    if (isset($_POST['address'])) {
        update_user_meta($user_id, 'address', sanitize_text_field($_POST['address']));
    }
}

// Hook to add custom fields to the user registration form
add_action('register_form', 'wp_dudecom_add_custom_user_registration_fields');

function wp_dudecom_add_custom_user_registration_fields() {
    ?>
    <p>
        <label for="phone_number"><?php _e('Phone Number', 'wp-dudecom'); ?><br />
        <input type="text" name="phone_number" id="phone_number" class="input" value="<?php echo esc_attr(wp_unslash($_POST['phone_number'] ?? '')); ?>" size="25" /></label>
    </p>
    <p>
        <label for="address"><?php _e('Address', 'wp-dudecom'); ?><br />
        <input type="text" name="address" id="address" class="input" value="<?php echo esc_attr(wp_unslash($_POST['address'] ?? '')); ?>" size="25" /></label>
    </p>
    <?php
}

// Hook to save custom fields from the user registration form
add_action('user_register', 'wp_dudecom_save_custom_user_registration_fields');

function wp_dudecom_save_custom_user_registration_fields($user_id) {
    if (isset($_POST['phone_number'])) {
        update_user_meta($user_id, 'phone_number', sanitize_text_field($_POST['phone_number']));
    }

    if (isset($_POST['address'])) {
        update_user_meta($user_id, 'address', sanitize_text_field($_POST['address']));
    }
}
?>

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.