W tym wpisie postawiłem sobie za zadanie pokazanie Wam, jak w bardzo łatwy sposób można dodać informację o autorze, która pobierana będzie z profilu użytkownika zapisanego w bazie WordPress. Jest to mega pomocne w co najmniej dwóch sytuacjach – gdy 99% wpisów to wasze teksty i okazjonalnie trafi się ktoś, kto chciałby dodać u Was swój wpis – wiadomo informacja o autorze jest ważna. Albo, gdy blog tworzony jest przez wiele osób i chcemy aby pod każdym wpisem zawarta była notatka o autorze wpisu.
Na potrzeby tego wpisu zajmiemy się kompleksowo pierwszą przytoczoną sytuacją, która jest mi szczególnie bliska, ale także podam Wam kilka fajnych patentów na rozwinięcie i dopasowanie rozwiązania do własnych potrzeb.
Co dokładnie będziemy tworzyć
Jakiś wstępniak już był jednak chciałbym dokładniej nakreślić tło projektu, jego założenia i to jak zamierzam się do tego zabrać…
Po pierwsze chciałbym zaznaczyć, że wpis adresuję do osób, które gdzieś mają szukanie, instalowanie i testowanie pluginów z repozytorium WP – tutaj stworzymy mega prosty, ale za to bardzo elastyczny plugin, który służyć będzie do wyświetlania danych o autorze pochodzących z profilu użytkownika WP. Wykorzystamy do tego celu kilka typowo wordpressowych funkcji, dzięki którym pobierzemy aktualny gravatar autora, jego „nazwę wyświetlaną”, oraz biografię. Oczywiście możliwości na tym się nie kończą i później podpowiem Wam, co jeszcze można wykorzystać w takiej notatce.
Całość opakujemy w prosty bezobsługowy plugin, który dzięki tagowi shortcode będzie można umieścić w dowolnym miejscu we wpisie, stronie, lub po prostu w wybranym wpisie, w którym chcemy dodać bio autora – tak jak w moim przypadku, lub całkowicie automatycznie pod każdym wpisem.
Bez obaw, wszystko postaram się wyjaśnić jak najdokładniej , a dzięki zamieszczonym kompletnym kodom źródłowym nawet „zieloni” w programowaniu będą mogli użyć pluginu na swojej stronie. Zapraszam!
Plugin „O autorze”
Chyba najprościej będzie, jak po prostu dodam kod źródłowy podstawowej wersji pluginu, który opracowałem na potrzeby tego wpisu, a więc:
Aby plugin uruchomić, wystarczy cały kod zapisać w nowym pliku pod nazwą, np. author_shortcode.php
, a następnie plik przenieść do instalacji WP – do katalogu wp-content/mu-plugins
na serwerze. Od tego momentu możemy już korzystać z pluginu, wstawiając we wpisie shortcode – [wpa_post_author]
. To jest najprostsza forma instalacji, ale warto wspomnieć, że możliwe jest przeniesienie całości, pomijając komentarz, choćby do innego pliku w którym mamy zapisane nasze shortcode-y, albo do pliku functions.php
aktywnego motywu. Jednak w obecnej formie jest on najbardziej elastyczny, nie grozi mu nadpisanie po aktualizacji motywu, no i łatwo można go przenieść również na inne blogi/strony zbudowane na WordPress.
Profil użytkownika WordPress
Cały, przedstawiony w niniejszym artykule sposób opiera się o dane zapisane w profilu użytkownika WordPress. Zanim przejdziesz dalej polecam uzupełnienie profilu przynajmniej o nazwę wyświetlaną, oraz biografię.
Jak napisać plugin „O autorze” pobierający dane o użytkowniku z profilu/bazy WordPress
Ten podpunkt dedykowany jest tym dociekliwym, którzy poza gotowcem chcą także wiedzieć, jak działa kod dodany do ich strony, oraz developerom, szukającym elastycznego rozwiązania pozwalającego na łatwą rozbudowę i szybkie dostosowanie do własnych potrzeb.
Zacznijmy od tego, że z tego pluginu postanowiłem utworzyć plugin wymuszany. Osobiście uważam, że wszelkie shortcode-y, których używam na stronie, powinny być dostępne zawsze i wszędzie, niezależnie od wybranego motywu, czy aktualnie uruchamianych pluginów. Dlatego wszystkie używane shortocode-y lądują w jednym pliku zbiorczym. Dzięki temu mam nad nimi pełną kontrolę i pewność działania. Umieszczenie tego pluginu w oddzielnym pliku lub dopisaniu do już istniejącego jest pierwszą rzeczą do rozważenia.
Więcej o pluginach wymuszanych możecie przeczytać we wpisie WordPress wtyczki wymuszane.
Shortcode tam gdzie potrzebny lub zawsze na końcu wpisu
Wystarczy tylko chwila analizy kodu aby zorientować się, że plugin składa się z jednej właściwej funkcji, realizującej postawione zadanie – wpa_post_author
, oraz wywołania add_shortocde
. Jest to typowa konstrukcja dla WordPress shortocode, która polega na zarejestrowaniu w WP nazwy shortcode, czyli wpa_post_author
, po czym użycie we wpisie tej nazwy w nawiasie kwadratowym będzie skutkowało wywołaniem przypisanej jej funkcji, w tym przypadku funkcji o takiej samej nazwie, czyli – wpa_post_author
.
Użycie takiego tagu we wpisie jest całkiem wygodne, gdyż sami możemy określić, w którym wpisie tagu użyć i w którym jego miejscu. Jednak co w przypadku, gdy mamy już milion wpisów i wystarczy nam zwyczajne umieszczenie info o autorze na końcu wpisu?
Więcej o WordPress shortcodes możecie przeczytać we wpisie – WordPress shortcode szybki tutorial.
Filtr lub edycja motywu zamiast shortcode?
Ostatni problem możemy rozwiązać na co najmniej dwa sposoby – pierwszy to skorzystanie z filtrów; drugi to edycja motywu. O filtrach już kiedyś pisałem (Jak dodać coś przed i po każdym wpisie), wystarczy tutaj drobna zmiana aby zamiast shortcode po prostu dodać info o autorze na końcu każdego wpisu:
Instalacja wygląda identycznie jak poprzednio, wystarczy skopiować cały kod do nowego pliku, a następnie przenieść go do katalogu wp-content/mu-plugins
na serwerze. Od teraz informacja o autorze powinna być widoczna pod każdym wpisem.
Implementacja kodu pluginu w motywie jest moim zdaniem najmniej pożądanym rozwiązaniem i raczej nie powinno się tego robić – temat do rozwinięcia w dyskusji w razie potrzeby/zainteresowania.
Pamiętajcie także, że WordPres posiada tzw. tagi warunkowe, więc kod można zmodyfikować tak aby info o autorze było widoczne tylko w wybranych wpisach/kategoriach/tagach itd.
Pobieranie informacji o autorze z profilu użytkownika WP
Przyszedł czas na wyjaśnienie części właściwej pluginu, czyli ciała funkcji realizującej pobieranie i wyświetlanie informacji o autorze.
Dwie wordpressowe funkcje, z których korzystam, to:
get_avatar
– służy do pobrania avataru użytkownika, zwraca gotowy tagimg
. Wymaga podania identyfikatora użytkownika w bazie, lub jego adresu e-mail (adres e-mail zostaje podany dzięki użyciu funkcjiget_the_author_meta
). Ja dodatkowo podaję rozmiar avataru, czyli 80px. Dokumentacja funkcji tutaj.get_the_author_meta
– funkcja pobiera informacje o autorze aktualnego postu. Pozwala na pobranie wszelkich, zapisanych w profilu użytkownika danych, dzięki podaniu odpowiedniej wartości parametru –- admin_color
- aim
- comment_shortcuts
- description
- display_name
- first_name
- ID
- jabber
- last_name
- nickname
- plugins_last_view
- plugins_per_page
- rich_editing
- syntax_highlighting
- user_activation_key
- user_description
- user_email
- user_firstname
- user_lastname
- user_level
- user_login
- user_nicename
- user_pass
- user_registered
- user_status
- user_url
- yim
Pełna dokumentacja funkcji get_the_author_meta
dostępna jest pod tym adresem.
Zbierając wszystko w całość, otrzymujemy plugin, który w bardzo łatwy sposób można dostosować do indywidualnych preferencji i potrzeb.
Ja dodatkowo opakowałem kluczową linijkę z biografią autora w funkcję wpautop
, która automatycznie tworzy akapity.
Podsumowanie
Przyszedł czas na krótkie podsumowanie wpisu o dodawaniu bio autora do WordPress. Gotowych pluginów realizujących tę funkcję z pewnością jest na pęczki, jednak nie ma to jak własny kod z precyzyjnie zdefiniowanymi danymi, oraz dokładnie odwzorowanymi wymaganiami. Możliwości rozbudowy są ogromne, a najprostsza, przedstawiona tutaj konstrukcja spełnia swoje zadanie celująco.
Pomogłem? Dodaj coś od siebie! Skomentuj ten wpis: