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ę.

Profil użytkownika w WOrdPress

 

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.

plugin WorPress o autorze

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 tag img. Wymaga podania identyfikatora użytkownika w bazie, lub jego adresu e-mail (adres e-mail zostaje podany dzięki użyciu funkcji get_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.

O autorze, jak dodać w WordPress

 

Wpis otagowano:

Pomogłem? Dodaj coś od siebie! Skomentuj ten wpis:

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *