Paginacja numeryczna w WordPressie

Witryny internetowe oparte o WordPressa często mają zaimplementowaną nieefektywną paginację opartą o linki do poprzedniej/następnej strony z wpisami. Takie rozwiązanie ma bardzo wiele wad, a jedną z najważniejszych jest to, że nie możemy bezpośrednio przejść do np. najstarszych artykułów. Problem ten można rozwiązać stosując paginację numeryczną, czyli po prostu wyświetlając numery poszczególnych stron z wpisami. Co ciekawe takie rozwiązanie jest również bezpośrednio wspierane przez system WordPress.

wordpress

Jak więc zrobić paginację numeryczną na stronie opartej o WordPressa?

Do tego celu wykorzystamy funkcję paginate_links(), która bezpośrednio wygeneruje nam listę stron.

Przykładowa implementacja (kod działa dla WordPressa od wersji 4.0):

Kod ten należy wkleić w miejscu w którym chcemy wyświetlić naszą paginację. Oczywiście należy dopisać do niego instrukcję echo() gdyż jak wcześniej wspomniałem funkcja paginate_links() wygeneruje nam tylko listę stron.

Napiszmy więc kompletną funkcję w PHP wyświetlającą paginację dla WordPressa (kod działa od wersji 4.0):

Kod ten można zapisać np. w pliku function.php naszego szablonu i użyć w dowolnym miejscu:

Nasz kod daje taki efekt:

  • Dla pierwszej strony:paginacja-przyklad
  • Dla strony ze środka:paginacja-przyklad2
  • Dla ostatniej strony:paginacja-przyklad3

Więcej na temat funkcji paginate_links() można znaleźć w dokumentacji WordPressa (wersja angielska): www.codex.wordpress.org/Function_Reference/paginate_links.

, , , , , , , , ,