Envato Elements - pobierasz co chcesz, ile chcesz

W jednym z projektów, nad którymi aktualnie pracuje „na potrzeby pewnej funkcjonalności” pojawiła się potrzeba zmodyfikowania opcji związanych z danymi kontaktowymi, które dostępne są profilu użytkownika, i jak to często w takiej sytuacji bywa – pojawił się pomysł na kolejny wpis…

Dane kontaktowe użytkownika w WordPressie

W WordPressie, jak chyba w każdym (a przynajmniej większości) CMSie mamy wbudowaną obsługę użytkowników, którzy oprócz tego, że mogą mieć różne uprawnienia, to mają również swój profil, w którym mogą umieszczać m.in. swoje dane kontaktowe, które później można wykorzystać czy to na potrzeby wewnętrznej komunikacji, do wyświetlenia na stronie, i w standardzie wygląda to tak:

Zresztą w podobny sposób działa to np. w sklepie internetowym opartym na WooCommerce, z tym, że tam oczywiście pól jest więcej, ale to wynika już ze specyfiki sklepu internetowego, bo dane są potrzebne nie tylko na potrzeby kontaktu, ale i do realizacji zamówienia, czy wystawienia rachunku/faktury…

Dodatkowe pole w danych kontaktowych

By dodać dodatkowe pole w danych kontaktowych – w naszym przypadku będzie to miejsce na wpisanie numeru telefonu – wystarczy dodać kilka linijek kodu do pliku functions.php:

function webinsider_wp_user_contactmethods( $user_contactmethods ) {

    # Dodajemy:
    $user_contactmethods['telefon']   = __( 'Telefon' );

    return $user_contactmethods;
}
add_filter( 'user_contactmethods', 'webinsider_wp_user_contactmethods' );

W rezultacie otrzymujemy coś w tym stylu:

Kasujemy zbyteczne pola

Zapewne w wielu przypadkach – przynajmniej na rynku krajowym – niektóre pola są zbyteczne, i tylko niepotrzebnie wydłużają formularz, a do tego mogą wprowadzać zamieszanie, dlatego za pomocą poniższego kodu pozbędziemy się 3 pól – AIM, Yahoo IM, Jabber:

function webinsider_wp_user_contactmethods( $user_contactmethods ) {

    # Usuwamy:
    unset( $user_contactmethods['aim'] );
    unset( $user_contactmethods['yim'] );
    unset( $user_contactmethods['jabber'] );

    return $user_contactmethods;
}
add_filter( 'user_contactmethods', 'webinsider_wp_user_contactmethods' );

W wyniku czego pola te znikają z formularza:

Usuwamy i dodajemy

Oczywiście możemy całość połączyć, i jednocześnie skasować niepotrzebne pola, i dodać inne, dodatkowe:

function webinsider_wp_user_contactmethods( $user_contactmethods ) {

    # Dodajemy:
    $user_contactmethods['telefon']   = __( 'Telefon' );

    # Usuwamy:
    unset( $user_contactmethods['aim'] );
    unset( $user_contactmethods['yim'] );
    unset( $user_contactmethods['jabber'] );

    return $user_contactmethods;
}
add_filter( 'user_contactmethods', 'webinsider_wp_user_contactmethods' );

W ten sposób skasowaliśmy pola związane z usługami AIM, Yahoo IM i Jabber, a dodaliśmy pole na numer telefonu:

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!

Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Envato Elements - pobierasz co chcesz, ile chcesz