Instalacja pluginu do stronicowania w szablonie

paginationCzasem istnieje potrzeba umieszczenia w tworzonym przez nas szablonie pluginu do stronicowania postów w miejsce dobrego, ale już wysłużonego stronicowania w postaci linków poprzenie wpisy, następne wpisy. Oczywiście nic nie stoi na przeszkodzie, żeby użytkownik sam doinstalował sobie taką wtyczkę. Mimo to bardziej elegenackim i przyjaznym rozwiązaniem jest instalacja w samym szablonie. Jak to zatem zrobić?Możemy użyć np. pluginu WP-PageNavi stworzonego przez Lestera Chana. Możesz go sściągnąć z tej strony. Jeśli już ściągniesz archiwum to wgraj pliki wp-pagenavi.php i wp-pagenavi.css do katalogu twojego szablonu.

Edycja plików szablonu

Otwórz plik, w którym chcesz użyć wtyczki do stronnicowania. Przeważnie będzie to plik index.php lub/i plik archives.php i search.php, które odpowiadają za wyświetlanie listy wpisów. Znajdź w tych plikach taki oto kod:

<div>
	<div><?php next_posts_link('Previous entries') ?></div>
	<div><?php previous_posts_link('Next entries') ?></div>
</div>

i zatąp go takim kodem:

<?php
include('wp-pagenavi.php');
if(function_exists('wp_pagenavi')) { wp_pagenavi(); }
?>

W taki oto sposób zamieniliśmy zwykłe stronnicowanie na nowe w postaci numerów stron. Kiedy odświeżysz stronę to nic się nie stanie ponieważ nasz plugin nie jest jeszcze dostosowany do działania w szablonie. Aby wszystko działało jak należy musisz otworzyć plik wp-pagenavi.php i znaleźć w nim taką linię kodu:

function wp_pagenavi($before = '', $after = '') {
        global $wpdb, $wp_query;

Zastąp go takim kodem:

function wp_pagenavi($before = '', $after = '') {
	global $wpdb, $wp_query;
        pagenavi_init(); //Calling the pagenavi_init() function

Po odświeżeniu strony już wszystko powinno działać jak należy. Wystarczy jeszcze dodać plik css do naszego szablonu, aby móc kontrolować wygląd listy stron. W nagłówku pod odwołaniem do głównego szablonu css dodaj taką linię:

<link rel="stylesheet" href="<?php echo TEMPLATEPATH.'/wp-pagenavi.css';?>" type="text/css" media="screen" />

Możesz już formatować wygląd listy stronnicowania poprzez szablon pagenavi.css.



2 komentarzy do “Instalacja pluginu do stronicowania w szablonie”

  1. Bartek says:

    Gdy postapiłem zgodnie z tym co napisałeś pojawiło mi się coś takiego nad faktycznie zmienionym sortowaniem stron ;)

    Warning: include(wp-pagenavi.php) [function.include]: failed to open stream: No such file or directory in /kunden/eyoonet.com/rp-hosting/10184/10213/bartek/wp-content/themes/Czarno_Zolty/archive.php on line 51

    Warning: include() [function.include]: Failed opening ‘wp-pagenavi.php’ for inclusion (include_path=’.:/usr/local/lib/php’) in /kunden/eyoonet.com/rp-hosting/10184/10213/bartek/wp-content/themes/Czarno_Zolty/archive.php on line 51

    • Grzegorz Serwin says:

      Upewnij się czy plik php z pluginem jest na pewno wgrany do katalogu templatki i czy ma dokładnie taką nazwę jak w funkcji include.

Leave a Reply