Jak usunąć niektóre pola z profilu użytkownika?
- Piotr Bartczak
- 2 lis 2011
- 1 minut(y) czytania
Chwilę temu Łukasz Więcek na Facebooku zadał pytanie:
…chciałem oczyścić ustawienia profili z niepotrzebnych pól. Z dodaniem nowych pól najmniejszych problemów nie ma, ale czy ma ktoś z Was pomysł, jak usunąć pola, które są domyślnie wyświetlane w ustawieniach profilu (AIM, Yahoo IM, itp)?
W ramach wdzięczności za ilość pozostawionych przez Łukasza komentarzy na dev.wpzlecenia postanowiłem udzielić na tutejszych łamach szybkiej porady :)
Faktycznie, WordPress domyślnie prosi użytkownika o podanie kilku form kontaktu (nie jest to obowiązkowe):
W Polskich warunkach mało kto używa AIM czy Yahoo IM. W jaki sposób można usunąć te pola ze strony profilu użytkownika?
Musimy odwołać się tutaj do filtra user_contactmethods. Na wejściu otrzymuje on tablicę z domyślnymi polami, którą możemy przetworzyć i na koniec powinniśmy zwrócić. Najczęściej użytkownicy dodają do niej kolejne elementy, jednak nic nie stoi na przeszkodzie by zadziałać odwrotnie i tablicę tę skrócić.
Zobaczmy jak będzie wyglądał kod usuwający AIM oraz Yahoo:
function usun_aim_yim( $metody ) {
unset($metody['aim']);
unset($metody['yim']);
return $metody;
}
add_filter('user_contactmethods','usun_aim_yim',10,1);
I to wszystko.
Jeśli ktoś chce dokładniej się przyjrzeć jakie metody kontaktu są domyślnie rejestrowane, odsyłam do pliku wp-includes/user.php, a wnim do funkcji _wp_get_user_contactmethods.
Kommentare