publikacja: 29 lipca 2008, 15:34; autor: Szymon Skulimowski http://wpninja.pl/artykuly/wp-pagenavi-lepsza-nawigacja-pomiedzy-stronami/

WP-PageNavi: lepsza nawigacja pomiędzy stronami

WP-PageNavi: lepsza nawigacja pomiędzy stronami

Strona główna WordPressa przedstawia zazwyczaj najnowsze wpisy a ich Ilość ustawiona jest w panelu administracyjnym (opcje > wyświetlanie wpisów > strony bloga > pokaż najwyżej). Standardowo (i raczej słusznie) jest wstawiona tam liczba 10.

Tak więc, jeśli na swoim blogu będziesz mieć 11 wpisów, 1 najstarszy zostanie przesunięty na kolejną stronę. Na samym dole pokaże się wtedy nawigacja umożliwiająca przejście pomiędzy stronami. W standardowej wersji WordPressa wygląda ona niestety dosyć ubogo ponieważ:

  • nie ma możliwości wybrania dowolnej strony (są tylko odnośniki do poprzedniej lub następnej strony)
  • określenia „poprzednia” i „następna” mogą być mylące dla wielu gości
  • nie wiadomo ile jest wszystkich stron

Przetestowałem ostatnio bardzo interesującą wtyczkę - WP PageNavi, która w sposób bardzo ładny wzbogaca WP o dodatkowe funkcjonalności.

Instalacja

  1. Pobierz plik wtyczki ze strony autora.
  2. Rozpakuj archiwum i skopiuj katalog wp-pagenavi do wp-content/plugins/.
  3. Aktywuj wtyczkę w panelu administracyjnym.
  4. Wstaw poniższy kod:
    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
    do pliku index.php zaraz za <?php endwhile; ?>.
  5. Zapisz i ciesz się lepszą nawigacją.
  6. Możesz pokusić się także o drobne zmiany wyglądu nowej nawigacji - w tym celu powinieneś zainteresować się zawartością pliku pagenavi-css.css, który umieszczony jest w folderze wtyczki.

Efekt wtyczki można obejrzeć na moim blogu (na samym dole strony głównej).

Podobał się artykuł? Dodaj kanał RSS / Atom do swojego czytnika lub zapisz się na bezpłatny newsletter i dołącz do grona stałych czytelników.

Komentarze (69)

  1. kidler kidler 1365 dni temu:

    Warto dodać że kod z punktu 4 można wstawić do pliku archiwe.php i search.php :) Dzięki temu „lepsza nawigacja” będzie również podczas wyszukiwania i przeglądania wpisów w danej kategorii

    odpowiedz
  2. Szymon Skulimowski Szymon Skulimowski 1364 dni temu:

    Zgadza się :).

    odpowiedz
  3. Nomad Nomad 1337 dni temu:

    No dobra - moze glab jestem, ale mi nie wychodzi.
    Zalatwilem pkt 1-3
    Przy pkt 4 plik index.php wyglada tak:

    <a href=”” rel=„bookmark”>

    Opublikowany | |

    Kategorie: <?php the_tags(‘Tags: ‘,’ > ’); ?>

    <!--

    -->

    Comments

    %%

    %%

    %%

    Wklejalem w miejscach oznaczonych %% (oczywiscie pojedynczo) i nic. Gdzie winienem wkleic? :)

    odpowiedz
  4. Nomad Nomad 1337 dni temu:

    No i rozwalilo wpis :) czyli skrypt zadzialal :)
    Motyw to Elements of SEO 1.4 strona to nomadowyblog.pl

    odpowiedz
  5. Szymon Skulimowski Szymon Skulimowski 1337 dni temu:

    W tym motywie masz takie dwie linijki:

    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p><?php endif; ?>
     
    </div>

    Jeśli wstawisz kod dokładnie pomiędzy nie to powinno być cacy.

    odpowiedz
  6. Nomad Nomad 1337 dni temu:

    Nic z tego :(
    Wczesniej tez probowalem w tym miejscu :)

    odpowiedz
  7. Nomad Nomad 1337 dni temu:

    Namierzylem jest to plik home.php :)

    odpowiedz
  8. Kamil Kamil 1289 dni temu:

    Ok zatem już trzymam się tematu. Przydałoby się jeszcze małe wyjaśnienie jak ją przetłumaczyć na język polski. Kombinuję w pliku wtyczki o nazwie wp-pagenavi.php w dolnej części kodu i nic (potem wyłączam i na nowo włączam wtyczkę i też nie skutkuje):

    1) $pagenavi_options[’pages_text’] = __(‘Strony %CURRENT_PAGE% z %TOTAL_PAGES%’,‘wp-pagenavi’);

    2) $pagenavi_options[’first_text’] = __(‘« Pierwsza’,‘wp-pagenavi’);
    $pagenavi_options[’last_text’] = __(‘Ostatnia »’,‘wp-pagenavi’);

    odpowiedz
  9. Szymon Skulimowski Szymon Skulimowski 1289 dni temu:

    @ Kamil,
    Po aktywacji zajrzyj w panel administracyjny, zakładkę „ustawienia” a następnie „PageNavi” :-). Znajdziesz tam wszystko czego potrzebujesz do tłumaczenia.

    odpowiedz
  10. User User 1287 dni temu:

    Gratuluje, zajefajna strona i ciekawe porady.

    Przydalby sie na niej równiez maly poradnik jak zainstalowac/ wyedytowac/ przetlumaczyc wtyczke WP-Polls (albo inna) aby uzyskac taki ladny efekt jak na tej stronie, bez zadnych archiwów i innych zbednych bajerów ;-)
    Mozesz tez wspomniec w jakims artykule o jakies fajnej wtyczce do wyswietlania komentarzy w sidebarze bo ten standardowy jest ubogi :-D

    Pozdrawiam,
    User.

    odpowiedz
  11. Szymon Skulimowski Szymon Skulimowski 1284 dni temu:

    @User,

    Dzięki! WP-Polls mówisz? Da się zrobić. :-)

    Mozesz tez wspomniec w jakims artykule o jakies fajnej wtyczce do wyswietlania komentarzy w sidebarze bo ten standardowy jest ubogi :-D

    Standardowy czyli jaki?

    odpowiedz
  12. Kamil Kamil 1234 dni temu:

    U mnie tez jest problem z WP-polls, popieram przydalby sie jakis dobry artykul /poradnik na temat tej wtyczki. Tak mi wyswietla strone: http://www.my-mobile.com.pl , nie ma pola wyboru tylko odrazu wyniki sondy :/

    odpowiedz
  13. alfa alfa 1233 dni temu:

    a u mnie szefuniu http://technow.pl/ , gdy wybieramy strone 1, 2, 3 czy 29 zawsze pokazuje się strona numer 1

    odpowiedz
  14. palmiak palmiak 1233 dni temu:

    a gdy najedziesz na 2,3 etc to jaki adres wyświeta? Coś w stylu http://technow.pl/category/hardware/page/2 (zamiast 2 oczywiście odpowiednie liczby) czy coś innego? Jeżeli coś takiego to powinno wszystko działać i za zagadkę można uznać czemu nie działa. Jeżeli jest inaczej to całkiem możliwe, że wynika to z kilku loopów na stronie przez co wtyczka durnieje gdzie ona tak naprawdę jest.

    Aczkolwiek to takie wręcz studenckie rozmyslanie…

    odpowiedz
  15. alfa alfa 1232 dni temu:

    http://technow.pl/page/2 tak wyglądają kolejne podstrony … przy czym każda z nich wyświetla stronę główną

    odpowiedz
  16. palmiak palmiak 1232 dni temu:

    Czy mógłbym Ci poprosić o kontakt. Wejdź na vivee.info w kontakt i daj znak mailowy. Myślę, że coś z tym pagenavi poradzimy.

    odpowiedz
  17. Kamil Kamil 1231 dni temu:

    A jak naprawic ta sonde wp-polls wie ktos??????

    odpowiedz
  18. alfa alfa 1231 dni temu:

    Kamil nie zmieniaj tematyki przewodniej tego postu.

    Palmiak, czy mógłbyś napisać do mnie na gg://10959088 , aż się dziwię że są takie osoby jak ty które same od siebie proponują pomoc (wielki plus dla ciebie i twojej strony)

    Pozdrawiam Patryk

    odpowiedz
  19. palmiak palmiak 1231 dni temu:

    alfa, ja wiem, że to głupio zabrzmi ale nie korzystam z gg i stąd propozycja żebyś do mnie napisał, bo formularz u Ciebie się buntował delikatnie :)

    odpowiedz
  20. Szymon Skulimowski Szymon Skulimowski 1231 dni temu:

    nie korzystam z gg

    Witaj w klubie (-:

    odpowiedz
  21. Filu Filu 1230 dni temu:

    Kapitalna wtyczka, odpaliłem i zadziałała bez problemu. Z komentarzy dowiedziałem się jeszcze, że można to samo zrobić na pozostałych stronach, jeszcze dziś postaram się wprowadzić zmiany.

    Pozdrawiam

    odpowiedz
  22. Damian Damian 1230 dni temu:

    Bez tej wtyczki nie wyobrażam sobie już bloga :P

    odpowiedz
  23. alfa alfa 1228 dni temu:

    Ja niestety też ale u mnie nie działa :(

    odpowiedz
  24. alfa alfa 1226 dni temu:

    technow.pl na stronie jest włączony mod ale nie działa poprawnie , może ktoś wie co jest nie tak ?

    odpowiedz
  25. Szymon Skulimowski Szymon Skulimowski 1226 dni temu:

    Skórka premium, której używasz ma mocno zmodyfikowane funkcje do wyświetlania strony głównej. Autor nie przewidział w niej wsparcia dla stronnicowania wpisów.

    odpowiedz
  26. alfa alfa 1226 dni temu:

    Chciałbym bardzo podziękować osobie o nicku palmiak, która rozwiązała wszystkie problemy dotyczące tego plugina, ale to nie wszystko Maciej udzielił mi wskazówek co i jak postępować , żeby wszystko działało poprawnie

    od teraz plugin śmiga na mojej stronie bez żadnych błędów i przeciw skazań

    Wielki plus

    Pozdrawiam Patryk

    odpowiedz
  27. palmiak palmiak 1226 dni temu:

    A dziękować ;)

    @Szymon Skulimowski: e tam nie przewidział ;) Postaram się artykulika strzelić u siebie jak to robić, bo to akurat się wielu ludziom może przydać, szczególnie, że masa tych premium ma pokręcone pętelki.

    odpowiedz
  28. Szymon Skulimowski Szymon Skulimowski 1226 dni temu:

    Artykuł z pewnością by się przydał. Brawo za bezinteresowną pomoc :-)

    odpowiedz
  29. tomek tomek 1176 dni temu:

    a u mnie szefuniu http://technow.pl/ , gdy wybieramy strone 1, 2, 3 czy 29 zawsze pokazuje się strona numer 1

    czy udało się rozwiązać ten problem bo ja mam taki sam i to nie tylko z wtyczką ale także ze standardową nawigacją, mam 2 pętle na stronie ale usunięcie jednej nic nie dało dopiero usunięcie z jednej pętli
    query_posts('category_name=news');
    dało efekt. Czy w tym jest jakiś konflikt, z góry dzięki :)

    odpowiedz
  30. Kamil Lubelski Kamil Lubelski 1136 dni temu:

    Mam pytanie dotyczące punktu czwartego.
    Gdzie mam wkleić podany wyżej kod, skoro w moim pliku index.php nie ma ?

    Tak wygląda mój plik index.php:

    Skórka librio.

    odpowiedz
  31. Kamil Lubelski Kamil Lubelski 1136 dni temu:

    Zamieszczam jeszcze jeden wpis, bo tam zapomniałem dodać kod.

    Tak wygląda mój plik index.php:

    Skórka librio.

    odpowiedz
  32. Szymon Skulimowski Szymon Skulimowski 1136 dni temu:

    @Kamil,
    Jeśli chcesz wstawić kod PHP to powinieneś zamieścić go pomiędzy tagami <pre></pre> bo inaczej nic się nie pojawi (co widać powyżej) :-).

    odpowiedz
  33. codecalm codecalm 1130 dni temu:

    bardzo dobra wtyczka, gorąco polecam wszystkim użytkownikom WP. ;p

    odpowiedz
  34. Mateusz Puszczyński Mateusz Puszczyński 1106 dni temu:

    Mam pytanie dotyczące nie bezpośrednio samej wtyczki, (tą zainstalowałem i działa bez problemu) ile raczej jej wyglądu. Zna ktoś jakiś sposób, żeby w CSS ustawić ją na środku niezależnie od ilości stron (czyli rozmiarów div’a)?

    Pozdrawiam!

    odpowiedz
  35. Szymon Skulimowski Szymon Skulimowski 1106 dni temu:

    text-align:center do .wp-pagenavi powinno dać radę :-)

    odpowiedz
  36. Mateusz Puszczyński Mateusz Puszczyński 1106 dni temu:

    Dzięki za szybką odpowiedź. Faktycznie dało radę. :)

    Pozdrawiam!

    P.S. Fajny blog, tak trzymaj. :)

    odpowiedz
  37. albatros albatros 1077 dni temu:

    Można zmodyfikować tą wtyczkę tak aby przy paginacji wpisu na kilka stron też wyświetlała się taka nawigacja?

    odpowiedz
  38. Yahó Yahó 1076 dni temu:

    Witam ja mam taki problem…chce zmienić standardowe ustawienie po wgraniu już kodu na stronkę (Page 1 of 2) na Strona 1 z 2 gdzie należy podmienić te nazwy?

    odpowiedz
  39. mmizu mmizu 1064 dni temu:

    Próbował ktoś wykorzystać tę wtyczkę do stronicowania komentarzy?

    odpowiedz
  40. Levre Levre 983 dni temu:

    Mam pytanie czy jest możliwość zastosowania tej wtyczki w stronach w wordpresie np kiedy w pa/strony doda sie do teskstu to dana strona dzieli sie na 2

    odpowiedz
  41. Szymon Skulimowski Szymon Skulimowski 981 dni temu:

    @mmizu,

    Próbował ktoś wykorzystać tę wtyczkę do stronicowania komentarzy?

    Stronicowanie komentarzy masz standardowo wbudowane w WP. Opcję taką można włączyć poprzez zakładkę „ustawienia” / „dyskusja” w panelu administracyjnym.

    Trzeba tylko posiadać nowy system komentarzy.

    odpowiedz
  42. Szymon Skulimowski Szymon Skulimowski 981 dni temu:

    @Levre,

    Mam pytanie czy jest możliwość zastosowania tej wtyczki w stronach w wordpresie np kiedy w pa/strony doda sie do teskstu to dana strona dzieli sie na 2

    Dzielenie wpisu/strony na kilka części robi się poprzez wstawienie w treści znacznika <!--nextpage-->.

    Przydatny odnośnik do dokumentacji technicznej na ten temat:
    Styling Page-Links

    odpowiedz
  43. Burger Burger 858 dni temu:

    Mój problem polega na tym, że podczas włączeniu wtyczki i dodaniu kodu, na stronie wyświetla się komunikat:
    Parse error: syntax error, unexpected T_STRING in /home/***/domains/***/public_html/wp-content/themes/burgertheme/index.php on line 13

    Nie wiem co z tym faktem zrobić.
    Z góry dzięki za pomoc.

    odpowiedz
  44. Szymon Skulimowski Szymon Skulimowski 858 dni temu:

    Ok, a czy mógłbyś pokazać co masz w pliku wp-content/themes/burgertheme/index.php w wierszu 13 (a najlepiej 12-14)?

    odpowiedz
  45. Burger Burger 858 dni temu:

    Błąd 404

    Jak dodawać w komentarzu ten kod jako wyróżniony?

    odpowiedz
  46. Burger Burger 858 dni temu:

    <h2>Błąd 404</h2>
    <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>
    <?php endif; ?>

    odpowiedz
  47. Burger Burger 858 dni temu:

    Błąd polegał na tym, że miałem źle napisany kod php wyżej. Teraz strona się otwiera, ale nawigacja i tak się nie wyświetla.

    odpowiedz
  48. Maciej Maciej 769 dni temu:

    Czy ta wtyczka działa też na stronach statycznych? Z moich prób wynika, że niestety nie… :/

    odpowiedz
  49. Szymon Skulimowski Szymon Skulimowski 769 dni temu:

    Mógłbyś rozwinąć pojęcie „strona statyczna”? Czy chodzi tutaj o zwykłą stronę podzieloną na kilka podstron czy o stronę, która ma indywidualny szablon z dodatkową petlą?

    odpowiedz
  50. Maciej Maciej 769 dni temu:

    TAK

    odpowiedz
  51. Maciej Maciej 769 dni temu:

    Nie ma w ogóle jakichkolwiek wpisów typu post.

    odpowiedz
  52. Maciej Maciej 769 dni temu:

    Zwyczajnie, nie tworzę jakichkolwiek wpisów (typu post). Strony (page) mają zablokowane komentowanie. That’s it.

    odpowiedz
  53. Szymon Skulimowski Szymon Skulimowski 769 dni temu:

    To może inaczej - podaj proszę adres strony, na której chciałbyś konkretnie użyć wtyczki.

    odpowiedz
  54. Maciej Maciej 769 dni temu:

    Np. tu: http://www.ostojawmorusach.info/?page_id=2

    odpowiedz
  55. Szymon Skulimowski Szymon Skulimowski 769 dni temu:

    A jaki efekt chciałbyś uzyskać na tej stronie? Tzn. co miałoby się dziać po kliknięciu na powiedzmy 2 czy 3 stronę?

    odpowiedz
  56. Maciej Maciej 769 dni temu:

    Chciałem w ogóle długie wpisy podzielić na strony i obsłużyć to wszystko możliwościami właśnie takimi, jakie potencjalnie daje wtyczka WP-PageNavi. No, coż… pogodziłem się z tym, że jeśli przyjdzie mi to jeszcze raz do głowy, to skorzystam ze standardu. Przy tworzeniu swojej strony korzystałem ze stronicowania wpisów ową wtyczką i było OK. Na razie to mi nie jest potrzebne do szczęścia, ale mam niedosyt na przyszłość…
    Dzięki, Szymonie, za trud.
    Pozdrawiam. M.

    odpowiedz
  57. Seba Seba 623 dni temu:

    Nic nie działa ;/

    odpowiedz
  58. CombatCode CombatCode 528 dni temu:

    Witajcie!
    dopiero co miałem problem z wtyczką wp-pagenavi przy tworzeniu własnego szablonu tak jak kilka innych osób na tej stronie. Konkretnie to gdy wchodziło się na page/2 nie wyświetlała się poprawna zawartość tylko zawsze zawartość strony głównej. Co prawda na znalazłem pomocy na tej stronie, ale skoro tutaj trafiłem to zapewne wiele osób mających ten sam problem znajdzie się na tym portalu. Problem z pagenavi pojawia się w momencie użycia query_posts() w szablonie, przykładowo chcemy wyświetlić tylko posty z kategorii bielizna, która ma id= 1:
    query_posts(‘cat=1′);
    Brawo! działa… ale co z tego skoro pagenavi nie działa! Rozwiązanie jest proste, zamienic powyższy kod na te:
    query_posts(‘cat=1′ . ‘&paged=’ . get_query_var(‘paged’));
    i śmiga aż miło ;)!
    Wszystkim, którym pomogłem zapraszam na http://sensualna.pl ! właśnie ten problem tam miałem :)

    odpowiedz
  59. Szymon Skulimowski Szymon Skulimowski 526 dni temu:

    @CombatCode,

    Tak naprawdę to powinno być:

    global $query_string;
    query_posts($query_string."&cat=1");

    Twoja propozycja jest ok ale to powyżej będzie bardziej uniwersalne.

    odpowiedz
  60. elgo elgo 444 dni temu:

    Niestety u mnie na stronie, którą stawiam jest problem z przełączaniem stron, coś na kształt problemu @alfa. Po najechaniu myszką na kolejną stronę i pojawieniu się innego id strona pozostaje bez zmian?? Czy możliwe że odpowiedzialnym za to może być, iż strona jest umieszczona nie w głównym katalogu?

    odpowiedz
  61. Szymon Skulimowski Szymon Skulimowski 441 dni temu:

    A czy przypadkiem nie majstrowałeś przy query_posts? Jeśli tak to sprawdź komentarz powyżej Twojego.

    odpowiedz
  62. elgo elgo 440 dni temu:

    Nie nic nie grzebane, problemem może być, iż skórka nie posiada nawet sztandarowego next-prev do wpisów.

    odpowiedz
  63. Szymon Skulimowski Szymon Skulimowski 434 dni temu:

    Z jakiego motywu korzystasz?

    odpowiedz
  64. Szymon Skulimowski Szymon Skulimowski 432 dni temu:

    Motyw jest źle napisany bo pętli nie używa się w ten sposób (plik index.php). Żeby to naprawić powinieneś zrobić dwie rzeczy:

    1. Zamieć inne pętle niż główna albo na funkcje get_posts albo na indywidualne pętle (WP_Query).

    2. Zmodyfikować wywołanie głównej pętli tak aby dodatkowe parametry nie nadpisywały jej.

    odpowiedz
  65. elgo elgo 432 dni temu:

    Niestety ten rodzaj modyfikacji jest dla mnie jeszcze „hard” - proszę o łopatologiczne wyjaśnienie lub wskazanie co zmienić. Dzięki za szybką odpowiedź.

    odpowiedz
  66. Adam Adam 308 dni temu:

    Mam ten sam problem co CombactCode tyle że jego rozwiązanie, ani te Szymona u mnie nie działa. Dlatego że po dwóch stronach wpisów pojawiają się 3 puste z komunikatem błędu „Woops…”

    odpowiedz
  67. supervisior supervisior 254 dni temu:

    proponuje dodać kod w wp-content\themes\wasza_templatka\navigation.php
    w ten sposób nie trzeba dzióbać w inny plikach

    odpowiedz

Dodaj własny komentarz

Odnośniki z innych stron (1)

Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:

  1. Zaawansowane pozycjonowanie WordPressa

    […] WP Navi, dodająca numerowane linki do kolejnych podstron kategorii, tagów, itp. Wtyczkę tę WPNinja już u siebie opisał. […]