WordPress podział wpisu na podstrony, czyli jak dodać paginację do pojedynczego wpisu.
Istnieje wiele wtyczek do WordPress, które są w stanie podzielić każdy wybrany przez nas wpis na podstrony. Tylko po co instalować wtyczki do czegoś co WordPress ma już „w sobie”. Po co zaśmiecać swoją stronę obcym kodem, skoro w kilku prostych krokach sami możemy poprosić nasz WordPress, aby to dla nas zrobił…
W tym wpisie zajmiemy się prostą, zarazem przydatną sprawą, jaką jest dodanie paginacji i podzielenie wpisu na kilka stron.
Dziel i zwyciężaj, czyli jak podzielić post na strony
Pierwszy problem to podzielenie treści wpisu na strony. Innymi słowy musimy powiedzieć WordPressowi, gdzie jedna strona się kończy, a gdzie zaczyna druga. Tylko jak to zrobić?
QuickTagi w WordPress
Jeżeli masz już jakieś doświadczenie z WordPressem, to z pewnością wiesz jak oddzielić kawałek wpisu, po którym w liście postów, zamiast reszty tekstu, pojawi się guzik Czytaj dalej →. Jasne, jest to tzw. QuickTag.
WordPress oprócz znacznika Czytaj dalej posiada jeszcze kilka innych… dla ciekawskich do poczytania o QuickTagach tutaj.
Nas interesuje w tym momencie tylko jeden:
<!--nextpage-->
Podział treści wpisu na strony
Aby prawidłowo podzielić wpis na strony musimy wiedzieć kilka rzeczy. W edytorze, ani w edycji wizualnej, ani tekstowej nie ma odpowiadającego temu quicktagowi guzika. Należy więc skopiować jego prawidłowy kod do schowka, następnie w edytorze przejść na zakładkę „Tekstowy” i w miejscu gdzie chcesz dodać podział strony wkleić nasz tag.
Jeżeli kod tagu wkleimy w edytorze w trybie wizualnym, to taki tag nie zadziała. Aby potwierdzić prawidłowe dodanie tagów możemy przejść na zakładkę wizualną i wtedy zobaczymy graficzną reprezentację tagu (patrz screeny poniżej).
W porządku! Jeżeli wszystko zrobiliśmy prawidłowo, to po wyświetleniu edytowanej strony (wpisu), powinniśmy zobaczyć jego treść tylko do pierwszego znacznika nextpage. I tak miało być…
Będąc jeszcze w tym miejscu sprawdzamy, czy autor naszego motywu przewidział naszą chęć skorzystania z podziału wpisu na strony. Niektóre motywy mogą bowiem wspierać paginację wpisu, a niektóre niekoniecznie. Jeżeli korzystasz z któregoś z domyślnych motywów, jak np.: Twenty Sixteen, Twenty Fifteen, czy Twenty Fourteen (i pewnie wcześniejsze), to nic więcej nie trzeba tutaj robić. Jeżeli jednak nie masz tego szczęścia, to zapraszam do drugiej części artykułu. 🙂
WordPress podział wpisu na podstrony – paginacja pod wpisem
Druga część artykułu jest nieco trudniejsza, gdyż niezbędna będzie edycja plików motywu.
Aby dodać paginację do wpisów otwieramy plik single.php
aktywnego motywu, lub page.php
w przypadku stron.
Najłatwiej i chyba najbardziej logicznie będzie wyświetlać paginację tuż pod treścią wpisu. Musimy więc namierzyć pętlę wyświetlającą wpis i funkcję the_content()
i pod nią dodać odpowiedni kod.
Więc… pozostało już tylko wyświetlić numery stron wpisu, aby to zrobić wystarczy skorzystać z funkcji wp_link_pages
.
Najprostsze wywołanie funkcji z domyślnymi opcjami, oraz z proponowaną lokalizacją, może wyglądać tak:
<!-- Początek pętli --> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> [...] <!-- pozostały kod pętli --> <!-- funkcja wyswietlająca treść wpisu --> <?php the_content(); ?> <!-- funkcja wyświetlająca paginację wpisu --> <?php wp_link_pages(); ?> [...] <!-- pozostały kod pętli --> <?php endif; ?> <!-- Koniec pętli -->
Warto dodać, że dostępne opcje funkcji wp_link_pages
pozwalają między innymi na:
- zmianę tagu, w którym paginacja ma się wyświetlić,
- możemy zamiast numerów stron, ustawić linki następny, poprzedni,
- dodać separator pomiędzy numerami stron,
- możemy dodać tekst do numerów stron, tworząc guziki w stylu Strona 1, Strona 2 itd.
Po zapisaniu pliku i odświeżeniu strony z wpisem, powinniśmy wreszcie zobaczyć numery kolejnych podstron.