Pliki szablonów WordPressa – część 3 – Głębsze spojrzenie na pętlę
- Piotr Bartczak
- 29 wrz 2008
- 2 minut(y) czytania
Nasz WordPress wykrywa już nowy styl w katalogu, zapewne również wyświetla już piękny nagłówek, pora więc zabrać się do pracy i zmusić go do wyświetlenia konkretnej zawartości w postaci wpisów i stron statycznych – wbrew pozorom nie jest to takie trudne, o czym już wkrótce się przekonacie.
Zerknijmy może na naszą pętlę, którą wykonaliśmy w poprzednim artykule – interesuje nas konkretny jej fragment:
<?php while ( have_posts() ) : the_post(); ?>
// Tresc
<?php endwhile; ?>
W miejsce 'Treści’ wstawimy kod odpowiedzialny za wyświetlanie konkretnej zawartości – WordPress (w trybie standardowym) wyświetla całą zawartość wpisu za pomocą jednego zapytania (nie liczymy w tym miejscu dodatkowych zapytań tyczących się relacji wpisów do kategorii i tagów), poszczególne elementy wpisu zaś wyświetlane są za pomocą prostych funkcji – oto ich lista:
the_ID() – wyświetla ID wpisu;
the_title() – wyświetla tytuł wpisu;
the_permalink() – wyświetla link do wpisu;
the_content() – wyświetla treść wpisu;
the_excerpt() – wyświetla podsumowanie wpisu;
the_time() – wyświetla datę wpisu;
edit_post_link() – tworzy link do strony edycji wpisu;
Dodatkowo, aby nasz wpis był nieco bardziej kompletny, możemy wykorzystać następujące funkcje, które określą relacje występujące pomiędzy wpisem a tagami, kategoriami i autorami, a następnie wyświetlą odpowiednie wartości:
the_tags() – wyświetla tagi przypisane do wpisu;
the_category() – wyświetla kategorie wpisu;
the_author() – wyświetla nazwę autora wpisu;
Znajomość powyższych funkcji pozwala nam już wyświetlić wpisy, tworząc dla przykładu coś takiego:
<div class="post" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<p class="meta">Napisał: <?php the_author(); ?> w dniu: <?php the_time('F jS, Y') ?>, w kategorii: <?php the_category(', ') ?></p>
<?php the_content('Czytaj więcej...'); ?>
<?php the_tags( '<p>Otagowano ', ', ', '</p>'); ?>
</div>
</div>
Wnikliwi zauważą zapewne, że the_content() oraz the_time() posiadają treść między nawiasami – są to tak zwane parametry bądź atrybuty funkcji. W przypadku the_time() np. pozwalają na sformatowanie wyświetlanie daty i czasu. Możemy je pominąć, wtedy data i czas będą formatowane zgodnie z ustawieniami WordPressa (które ustawiamy z panelu zarządzania). Zaś treść w the_content() będzie wyświetlana w momencie, gdy we wpisie umieścimy znacznik <!--more--> – atrybutami jednak zajmiemy się innym razem.
Pętla i strony statyczne
Nazwa „pętla” wzięła się z tego, że powyższy kod będzie powielany tak długo, aż w bazie danych nie skończą się wpisy (bądź nie określimy inaczej przy tworzeniu własnych zapytań do bazy – o tym kiedy indziej).
Ktoś jeszcze zapyta „no dobra, mamy wpisy, ale co ze stronami statycznimi?” – otóż to samo – powyższy kod może byż zastosowany zarówno do wpisów, jak i do stron statycznych – wyjątkiem będą tagi i kategorie, które nie zostaną wyświetlone (bo nie można ich dodać do stron statycznych) – jak więc WordPress rozróżnia co jest stroną statyczną, a co wpisem i skąd wie jak co wyświetlić? O tym już w kolejnej części, cierpliwości.
Comments