Jak dodać inne dane kontaktowe dla użytkownika w WordPressie?
- Piotr Bartczak
- 27 lut 2012
- 1 minut(y) czytania
Ostatnio potrzebowałem dla osób zarejestrowanych w serwisie dodać „nadprogramowe” pola kontaktowe i usunąć te zbędne – w naszych warunkach najczęściej są to AIM oraz Yahoo IM.
Okazuje się, że taka przeróbka jest całkiem prosta wystarczy wykorzystać filtr user_contactmethods.
Zaczynamy od wyglądu takiego, jak poniżej:

Najpierw usuniemy zbędne pola – będą to AIM oraz Yahoo IM! Dodajemy (do pliku function.php) filtr:
add_filter('user_contactmethods', 'usuwanie_danych_kontaktowych');
Tworzymy funkcję:
function usuwanie_danych_kontaktowych($user_contactmethods){
unset($user_contactmethods['yim']);
unset($user_contactmethods['aim']);
return $user_contactmethods;
}
Teraz odpowiedni fragment strony ustawień użytkownika wygląda następująco:

Chcieliśmy jednak dodać coś do siebie, więc proszę – dopisujemy w kodzie funkcji:
$user_contactmethods['fb'] = 'Facebook';
$user_contactmethods['nk'] = 'Nasza-Klasa';
Całość teraz wygląda następująco:

Jeśli teraz pojawi się potrzeba wyciągnięcia tych danych i pokazania ich w naszym szablonie wystarczy skorzystać z funkcji get_user_meta:
echo get_user_meta(X, 'fb', true);
gdzie oczywiście:
X – ID naszego użytkownika
fb – identyfikator zmiennej, która ma być zwrócona (tutaj nick na Facebooku)
Czy ktoś z Was wykorzystuje w praktyce te pola, czy traktujecie je jako zło konieczne?
Comments