Jak dodać własne pola do profilu użytkownika w WordPress?

Czasami standardowe pola w profilu użytkownika WordPressa – takie jak imię, nazwisko czy e-mail – są niewystarczające. Jeśli prowadzisz np. portal społecznościowy, sklep internetowy czy stronę firmową, możesz chcieć zebrać dodatkowe informacje o użytkownikach, np. numer telefonu, stanowisko czy link do LinkedIna.


1. Dodanie własnych pól w panelu administracyjnym

Do pliku functions.php motywu potomnego lub własnej wtyczki dodaj:

// Dodanie pól do profilu
function custom_user_profile_fields($user) { ?>
    <h3>Dodatkowe informacje</h3>
    <table class="form-table">
        <tr>
            <th><label for="phone">Numer telefonu</label></th>
            <td>
                <input type="text" name="phone" id="phone"
                       value="<?php echo esc_attr(get_user_meta($user->ID, 'phone', true)); ?>"
                       class="regular-text" />
            </td>
        </tr>
        <tr>
            <th><label for="linkedin">Profil LinkedIn</label></th>
            <td>
                <input type="url" name="linkedin" id="linkedin"
                       value="<?php echo esc_attr(get_user_meta($user->ID, 'linkedin', true)); ?>"
                       class="regular-text" />
            </td>
        </tr>
    </table>
<?php }
add_action('show_user_profile', 'custom_user_profile_fields');
add_action('edit_user_profile', 'custom_user_profile_fields');

// Zapis danych
function save_custom_user_profile_fields($user_id) {
    update_user_meta($user_id, 'phone', sanitize_text_field($_POST['phone']));
    update_user_meta($user_id, 'linkedin', esc_url($_POST['linkedin']));
}
add_action('personal_options_update', 'save_custom_user_profile_fields');
add_action('edit_user_profile_update', 'save_custom_user_profile_fields');

2. Wyświetlenie danych na stronie

Jeśli chcesz pokazać np. numer telefonu na stronie profilu autora:

$phone = get_user_meta(get_the_author_meta('ID'), 'phone', true);
if ($phone) {
    echo '<p><strong>Telefon:</strong> ' . esc_html($phone) . '</p>';
}

3. Przykłady zastosowania

  • Sklep WooCommerce → numer telefonu klienta, dodatkowe dane kontaktowe.
  • Strona firmowa → stanowisko, dział, link do profilu zawodowego.
  • Społeczność / forum → zainteresowania, konta social media.

Podsumowanie

Dodając własne pola do profilu użytkownika, możesz wzbogacić dane o swoich klientach czy członkach społeczności. To prosta modyfikacja, a znacznie rozszerza możliwości WordPressa.

KROK 1 Z 4

Z CZYM POTRZEBUJESZ POMOCY?