Попробуйте добавить в строку:
query_posts( array( 'posts_per_page' => 5, 'paged' => $paged ) );
ваш запрос: category_name=news
будет примерно так:
query_posts( array( 'category_name' => 'news', 'posts_per_page' => 5, 'paged' => $paged ) );
Но не гарантирую, сам сейчас бьюсь над подобным хуком
posts_per_page
можно опустить (если значение совпадает с тем, что задано в настройках), достаточно только paged
:
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
query_posts( array( 'category_name' => 'news', 'paged' => $paged ) );
Или так:
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
query_posts('category_name=news&paged=' . $paged)
Сергей, а если так:
// Set the page to be pagination
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
// Query Out Database
$wpbp = new WP_Query(array( 'post_type' => 'portfolio', 'posts_per_page' =>'8', 'paged' => $paged ) );
И не работает? Почему?
Всем спасибо помог скрипт
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
query_posts('category_name=news&paged=' . $paged)
Если честно, то надо бы самому в этом деле разобраться 🙂
Есть рус. документация по этому поводу?
И не работает? Почему?
Вероятно, потому что с WP_Query()
, в отличие от query_posts()
, при дальнейших вызовах нужно указывать переменную, которой был присвоен экземпляр класса: $wpbp->have_posts()
, $wpbp->the_post()
и т.д.
http://codex.wordpress.org/Function_Reference/WP_Query#Usage
Если не поможет, нужно смотреть код всего цикла (в новой теме).
Сергей, извините, поздно увидел ваш ответ.
Мои мучения с этим кодом длятся уже третий день. Все, что смог получить в итоге — работает только при дефолтном ЧПУ, в остальных случаях соскакивает на 404 страницу при попытке перехода на вторую страницу.
Код всего цикла здесь — http://pastebin.com/XzFDdQjr
Пример работы скрипта — здесь
Описание примера — здесь