Dodawanie i wyświetlanie pól w profilu użytkownika WP
[ SEOWind.io - pisz treści które rankują się w TOPach ]
Pracując z WordPressem często chcemy aby rejestrujący się użytkownicy byli w stanie uzupełnić swój profil o interesujące nas dane np. adres profilu Facebook lub wiek. Dziś pokaże jak w prosty sposób można dodawać pola w panelu użytkownika.
W bazie SQL WordPress przechowuje w tabeli nazwanej wp_usermeta dane odpowiadające konkretnym użytkownikom. Wyświetlane są one panelu administracyjnym w Użytkownicy => Twój profil. Tabela zbudowana jest tak, że można w prosty sposób rozszerzyć ją o nowe rekordy. Poniższy kod odpowiada za dodanie trzech pól odpowiadających za linki do najpopularniejszych profili społecznościowych. Do pliku functions.php znajdującego się naszym szablonie dodajemy:
add_action( 'show_user_profile', 'add_extra_social_links' ); add_action( 'edit_user_profile', 'add_extra_social_links' ); function add_extra_social_links( $user ) { ?> <h3>Profile społecznościowe</h3> <table class="form-table"> <tr> <th><label for="facebook_profile">Facebook</label></th> <td><input type="text" name="facebook_profile" value="<?php echo esc_attr(get_the_author_meta( 'facebook_profile', $user->ID )); ?>" class="regular-text" /></td> </tr> <tr> <th><label for="twitter_profile">Twitter</label></th> <td><input type="text" name="twitter_profile" value="<?php echo esc_attr(get_the_author_meta( 'twitter_profile', $user->ID )); ?>" class="regular-text" /></td> </tr> <tr> <th><label for="google_profile">Google+</label></th> <td><input type="text" name="google_profile" value="<?php echo esc_attr(get_the_author_meta( 'google_profile', $user->ID )); ?>" class="regular-text" /></td> </tr> </table> <?php }
Tak to powinno się mniejwięcej wyświetlać:
Zapisywanie danych
Niezbędna jest także reguła odpowiadająca za zapisanie danych w bazie. Może się ona znajdywać bezpośrednio po kodzie wyświetlonym powyżej.
add_action( 'personal_options_update', 'save_extra_social_links' ); add_action( 'edit_user_profile_update', 'save_extra_social_links' ); function save_extra_social_links( $user_id ) { update_user_meta( $user_id,'facebook_profile', sanitize_text_field( $_POST['facebook_profile'] ) ); update_user_meta( $user_id,'twitter_profile', sanitize_text_field( $_POST['twitter_profile'] ) ); update_user_meta( $user_id,'google_profile', sanitize_text_field( $_POST['google_profile'] ) ); }
Jak wyświetlać dane?
Jako przykład podałem pole odpowiedzialne za wyświetlanie linku do profilu Twittera.
the_author_meta( 'twitter_profile', $userID );
Wtyczki
Rzecz jasna do bardziej rozbudowanych projektów polecam zastosowanie w tym celu wtyczki. Ja osobiście korzystam z dwóch rozwiązań mianowicie: User Meta oraz Profile Builder PRO. Poniżej zaprezentowany jest screen z panelu administracyjnego pierwszej z nich. Jak widać jest moc 🙂
- Wordcamp 2014 Warszawa – dzień pierwszy - 4 stycznia 2020
- TYPES czyli taxonomies, custom fields i post types w jednym miejscu - 4 stycznia 2020
- Modyfikacje standardowego RSS’a WP - 4 stycznia 2020
- Jak precyzyjniej szukać w Google? [infografika] - 4 stycznia 2020
- Zestawienie blogów o SEO i WordPressie - 4 stycznia 2020
- Funkcje w panelu admina, o których nie warto zapominać - 4 stycznia 2020
- Jak z głową wybrać szablon do WordPressa? - 4 stycznia 2020
- Wtyczki do WP, których nie znasz a powinieneś cz.4 - 4 stycznia 2020
- Kilka ciekawych kawałków kodu cz.1 - 4 stycznia 2020
- Wyświetlanie ilości zasobów WordPressa - 4 stycznia 2020
-
Linki Wewnętrzene i Sematyka
-
-
Budowanie linków
-
Sematyka
-
Budowanie linków nigdy nie było prostrze. Setki możliwości linków za jednym kliknięciem.
-
SEMRush
-
-
Profesjonalna platforma SEO
-
Online
-
SEMrush oferuje rozwiązania dla SEO, PPC, treści, mediów społecznościowych i badań konkurencyjnych.