Pętla nie taka straszna. Jak wyświetlić listę wpisów?

Pętla nie taka straszna. Jak wyświetlić listę wpisów?

Tworzenie stron z systemem WordPress nie jest skomplikowane, jest co najwyżej złożone. Złożone z wielu prostych elementów, które można poznać niezależnie od siebie.

Jednym z takich elementów jest pętla WordPress (The Loop). Jest to kawałek kodu PHP, który pomaga wyświetlić wpisy oraz informacje z nimi związane, znajdujące się w bazie danych.

Zanim pętla zacznie działać WordPress sprawdza, czy wszystkie niezbędne pliki są dostępne. Następnie zbiera informacje, zapisane w panelu administratora takie jak: liczba wpisów wyświetlanych na stronie czy ustawienia komentarzy. Kiedy te wszystkie informacje są ustalone, WordPress sprawdza o co tak naprawdę prosi użytkownik.

Jeżeli użytkownik nie chce wyświetlać konkretnego wpisu, kategorii, strony czy daty WordPress używa wcześniej zebranych informacji z panelu administratora do wyświetlenia domyślnej kolekcji wpisów. W przypadku, gdy użytkownik chce wyświetlić konkretny wpis, to informacja o tym wpisie zostanie pobrana z bazy danych.

Jeżeli wszystko przebiegnie prawidłowo, WordPress połączy się z bazą danych aby pobrać określone informacje i zapisać je w zmiennych. Zmienne te są wykorzystywane do wyświetlenia informacji w Twoim szablonie.

The Loop

Pętla powinna być umieszczona w kodzie index.php oraz innych plikach szablonowych używających informacji o wpisach. W najprostszej postaci, pętla wygląda następująco:

Na początku, sprawdzany jest warunek have_posts(). Funkcja have_posts() sprawdza, czy w bazie danych znajdują się jakieś wpisy, jeżeli tak, to zwraca wartość true. Następnie używana jest pętla while – tak długo jak istnieją wpisy, tak długo kod „tutaj dzieje się coś ciekawego” będzie powtarzany dla każdego wpisu z osobna. Dobrą praktyką, jest przechwycenie sytuacji i poinformowanie użytkownika jeżeli w bazie danych nie zostaną odnalezione żadne wpisy, dlatego użyliśmy również konstrukcji else.

Na chwile obecną jedynie wiemy, jak przeiterować przez wszystkie wpisy w bazie danych, jednak tak naprawdę nic się poza tym nie dzieje. Gdybyś skopiował i wkleił powyższy kod do pliku index.php to otrzymałbyś piękną białą stronę. Czas to zmienić. Na potrzeby artykułu, wyświetlimy wszystkie tytuły wpisów wraz z krótkim wypisem (zajawką) oraz informacją o autorze i dacie publikacji.

Aby tego dokonać, trzeba zapoznać się z tagami szablonowymi WordPress. Tag szablonowy, to kawałek kodu PHP, który „coś robi”. W przypadku pętli najczęściej używanymi tagami są:

  • the_title() – wyświetla tytuł wpisu
  • the_content() – wyświetla zawartość wpisu
  • the_excerpt() – wyświetla zajawkę wpisu
  • the_time() – wyświetla datę publikacji wpisu
  • the_author() – wyświetla autora wpisu
  • the_permalink() – wyświetla adres URL wpisu

Wykorzystując powyższe tagi możemy utworzyć stronę z listą wszystkich wpisów (będących jednocześnie odnośnikiem do wpisu), krótkim opisem oraz autorem i datą publikacji.

Do powyższego kodu moglibyśmy jeszcze dopisać klasy aby ostylować wyświetlane wpisy, jednak nie to było dzisiejszym celem. Jak widzisz, pobieranie informacji o wpisach oraz ich wyświetlanie na stronie jest całkiem proste. Wystarczy prosta pętla oraz kilka tagów szablonowych.

Pętla to tak naprawdę jeden z najważniejszych mechanizmów w WordPressie, zrozumienie jej działania jest priorytetowe, jeżeli chcesz utworzyć swój własny szablon WordPress.

Kamil Laskowski

Sympatyk systemów otwartoźródłowych. Człowiek z zapałem, doskonale wiedzący, czego chce od życia. W wolnych chwilach uwielbia tańczyć oraz grać na gitarze.