Разбиение страниц не работает по нескольким категориям

У меня есть следующая проблема. В моем пользовательском меню ( wp_nav_menu ) я добавил категорию. В этой категории используется шаблон category.php . Теперь у меня есть несколько категорий, которые показаны на странице. Моя проблема в том, что разбиение на страницы не работает. Он показывает ссылку en all, кроме страницы / 2 / display, на странице «страница не найдена».

Я понятия не имею, что я делаю неправильно.

Смотрите мой код:

 <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // allow for pagination $getcat = query_posts('category_name=array("cat1", "cat2", "cat3","cat4","cat5","cat6")'); $args = array ( $getcat, 'posts_per_page' => 5, 'paged' => $paged ); query_posts($args); ?> <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?> <h1><?php the_title(); ?></h1> <div class="some_class"><?php the_excerpt(); ?></div> <?php endwhile; ?> </div> <div class="pagination"> <div class="ex_previous"><?php previous_posts_link('&laquo; recent', 0); ?></div> <div class="ex_next"><?php next_posts_link('older &raquo;', 0); ?></div> </div> <?php else : ?> <?php endif; ?> 

Надеюсь, кто-нибудь скажет мне, где я ошибся

М.

Solutions Collecting From Web of "Разбиение страниц не работает по нескольким категориям"

У вас несколько неправильных запросов. Я объясню, как я иду

Во-первых, вы никогда не должны использовать query_posts для создания пользовательских запросов. Это не только мой акцент, но и код. Одна большая проблема с query_posts заключается в том, что многие обстоятельства, разбиение на страницы не удается

Примечание. Эта функция не предназначена для использования плагинами или темами. Как поясняется ниже, есть более эффективные, более эффективные варианты для изменения основного запроса. query_posts () является слишком упрощенным и проблематичным способом изменения основного запроса страницы путем замены его новым экземпляром запроса. Он неэффективен (повторно запускает SQL-запросы), и в некоторых случаях он будет неудачным (особенно часто при работе с разбивкой по страницам).

Во-вторых, параметр, который вы использовали category_name кроме строки, а не массива.

В-третьих, вы запустили два query_posts где на самом деле требуется только одно. Это также почему ваша разбивка на страницы справа

В общем, ваш параметр next_posts_link $max_pages должен быть настроен для пользовательских запросов, иначе он не удастся

ОК, чтобы прийти к концу бизнеса, вам нужно WP_Query пользовательский запрос с WP_Query , имея в виду некоторые из пунктов, которые я поднял выше.

 <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // this section is correct, allows pagination $args = array( //set-up arguments to pass to WP_Query 'category_name' => 'string of category slugs, not name', // can use 'cat' parameter with string of category ID 'posts_per_page' => 5, 'paged' = $paged ); $query = new WP_Query( $args); //add arguments back to WP_Query if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); //start the loop <-----YOUR LOOP----> endwhile; <----YOUR PAGINATION----> Remember next_posts_link should look something like 'next_posts_link( 'Older Entries', $query->max_num_pages );' wp_reset_postdata(); endif;