Lis
2
2011

Jak usunąć niektóre pola z profilu użytkownika?

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.

Powiązane wpisy

O autorze: Konrad Karpieszuk

Jak każdy chyba tutaj zacząłem po prostu od blogowania. WordPress jednak tak mnie zafascynował, że szybko zabrałem się za tworzenie stron na nim opartych. Później przyszedł czas na pisanie poradników z nim związanych, zdarzyła się nawet książka. Współorganizowałem pierwszy polski WordCamp. Opiekuję się serwisem WPzlecenia.pl, a teraz także tym podserwisem, na którym właśnie jesteście: dev.WPzlecenia. Wszystkim życzę jak najwięcej wyniesionej WIEDZY odnośnie WordPressa. Zaparzcie kawę, usiądźcie wygodnie i - do lektury! :)

Obecnie jestem pracownikiem firmy tworzącej wtyczkę WPML (pozwala tworzyć wielojęzykowe strony), gdzie odpowiadam za jej rozwój. Jestem także autorem bardzo popularnej wtyczki sklepowej TradeMatik

6 komentarzy + Dodaj komentarz

  • Dzięki wielkie, drogi Kolego! Chociaż jeszcze z cztery godzinki i sam bym do tego doszedł ;) Ech – w filtrach WP mam zdecydowane tyły. Jakoś zawsze do szczęścia wystarczało mi add_action, więc filtrów nawet nie liznąłem ;)

    • ze mna tez nie jest tak, zeznam filtry na pamiec :) po prostu przypomnialo mi sie, ze gdzies juz to chyba widzialem. i udalo sie znalezc funkcje w users.php i wyjasnienie przyszlo samo

  • Ja mam dość proste pytanie, przy czym domyślam się odpowiedzi. Ale nie jestem pewien, a inni mogę tego nie wiedzieć. Gdzie ten kod należy wkleić :D

    Obstawiam z funcion.php.

    • tak, tam sie wkleja wszelkie kody, jesli ktos nie napisal gdzie dokladnie :)

      (tak prawde mowiac to zadziala po wklejeniu do niemal kazdego pliku wordpressa, ale z roznych powodow to wlasnie functions.php jest najlepszy)

  • Myślę, że teraz powinieneś napisać nowy wpis, o tym jak dodać własne pola w tej części :)

    • tak samo, tylko odwrotnie :) nie usuwamy, a dodajemy elementy do tablicy. wszystko widac w podlinkowanym kodzie zrodla wordpress

Uwaga, leci reklama:

Firefox jest znów szybki!

Gdzie nas czytać?

Autorzy »
Komentujący »
#wpzlecenia »