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.