Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Stránkování archivu nefunguje
Štítky: Paginate, paginate_links, Stránkování, WP-PageNavi
Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 11 let, 8 měsíců.
-
AutorPříspěvky
-
16. května 2014 (22:44) #18696
Ahoj. Nějak mi vůbec nechce fungovat stránkování archivu :( Už jsem jej několikrát předělával, zkoušel jsem návody, dokonce i zkopírovat části z Twentyfourteen, ale marně… Buď se mi čísla vůbec nevypíší, anebo mi Query číslo stránky ignoruje, a vyhazuje vždy stranu první (přes veškeré parametry v URL i v Query)
Aktuální kód z tohoto návodu, nenapíše nic:function ks_theme_paginate_archive() { $pagination = array( 'base' =>str_replace('91919', '%#%', get_pagenum_link(91919)), 'format' =>'page/%#%', 'total' =>ceil($wp_query->found_posts/get_settings('posts_per_page')), 'current' =>absint(get_query_var('paged')), 'show_all' => false, 'prev_next' => true, 'prev_text' => __('« Previous'), 'next_text' => __('Next »'), 'end_size' => 3, 'mid_size' => 5, 'type' => 'plain', 'add_args' => false, 'add_fragment' => '' ); echo paginate_links($pagination); }Vidět naživo to můžete tady
Víte, čím by to mohlo být?25. května 2014 (12:01) #18792No prozatím to řeším pluginem http://wordpress.org/plugins/paginate/
ale není to moc šťastné… Kdyby někoho něco napadlo, byl bych rád25. května 2014 (13:28) #18796Nemůže to fungovat z jednoho jednoduchého důvodu. Ve funkci je pro celkový počet příspěvků použita hodnota
$wp_query->found_posts, ale v samostatné funkci není definována (a tedy se nepřenáší z hlavního loopu). Musíte buď na začátku funkce použítglobal $wp_query;nebo raději rovnou nahradit hodnotu$wp_query->found_postspomocí globálního pole$GLOBALS['wp_query']->found_posts. Celou definici funkce bych také spíše přesunul do souborufunctions.phpa v dalších souborech šablony ji už pouze volal.Proč není použití pluginu šťastné? Funkce paginate_links() sice existuje a můžete se ji naučit, ale osobně pro tyto účely používám plugin WP-PageNavi a jsem velmi spokojen a nemám s ním žádné problémy
25. května 2014 (15:36) #18799Tak problém byl opravdu v tomto detailu, ale taky i v tom, že v archivu používám query_posts, k určení počtu příspěvků na stránce, nevím proč to tak dělá, ale použitím se přebily jakékoliv nastavení (např. která kategorie, stránka…)
Ještě k tomu pluginu:
Osobně jsem toho názoru, že pluginem se má dohánět jen to, co není možno (nebo složitějším postupem) implementovat jinak. Ani nevím proč, pouze mám hrůzu z více pluginů (už tak jich tam mám 13)Díky :)
25. května 2014 (17:02) #18800Funkci query_posts() raději vůbec nepoužívat, místo ní stačí bez potenciálních problémů použít akci pre_get_posts.
Někdy jsou pluginy opravdu zbytečné, ale v tomto případě (stránkování) bych spíše použil právě plugin. Nemusíte se bát počtu pluginů na webu, ale spíše jejich kvality a náročnosti. Můžete mít klidně 30 drobných pluginů a na rychlosti webu to nebude ani poznat. Nebo můžete mít jeden nekvalitní plugin a budou se dít velmi zajímavé věci :-)
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.