Intereting Posts
WP_Query с проблемой MetaQuery Мой пользовательский get_the_excerpt () не может получить отрывок из ID Темы не отображаются на панели инструментов -> Внешний вид -> Темы Получение «Невозможно изменить информацию заголовка – уже отправленные заголовки», но только на бэкэнд Кнопка TinyMCE для вставки нескольких строк текста? Форма не вставляет данные в базу данных с помощью плагина ajax Заменить постоянную таксономию Отображения страниц показаны одинаковые сообщения Локальная установка WordPress не обрезает изображения Форма представления на лицевой стороне не прикрепляет пользовательский тип сообщения Отображение информации из настраиваемого поля в настраиваемом типе сообщений что-нибудь вроде add_meta_box для категорий? Как сделать ссылку на навигационную панель на внешнюю страницу? Почтовый тип, загружаемый в 3.5 Пользовательские размеры логотипа для нескольких логотипов

Пропустить 5 последних сообщений при пейджинге?

На странице index.php мне нужно пропустить 5 сообщений (последние 5 сообщений в блоге).

Я использую плагин WP-Paginate , но все страницы показывают то же самое. Я использую offset=5 , это мой код:

 <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;?> <?php $additional_loop = new WP_Query("offset=5&paged=".$paged); if ($additional_loop->have_posts()) : while ($additional_loop->have_posts()) : $additional_loop->the_post(); the_title();?><br/> <?php the_content();?> <?php endwhile;endif;?> <?php if(function_exists('wp_paginate')) { wp_paginate('range=4&anchor=2&nextpage=Next&previouspage=Previous'); } ?> 

Вы можете указать либо paged для простой разбивки на страницы, либо offset если вы хотите сделать что-то особенное . Вычисление смещения легко: просто умножьте текущий номер страницы (минус два) на количество сообщений на странице и добавьте начальное смещение:

 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $posts_per_page = get_option( 'posts_per_page' ), $additional_loop = new WP_Query( array( 'offset' => ( $paged - 2 ) * $posts_per_page + 5, ) ); 

Я вижу, что вы используете wp_paginate() , но эта функция не знает, что вы используете дополнительный запрос и будете читать глобальный объект $wp_query чтобы получить текущую страницу и общее количество страниц, если вы сами не передадите эти значения:

 wp_paginate( array( 'range' => 4, 'anchor' => 2, 'nextpage' => 'Next', 'previouspage' => 'Previous', 'page' => $paged, 'pages' => intval( ceil( $additional_loop->found_posts / $posts_per_page ) ), ) ); 

Это дополнительный цикл, так что на этой странице все еще есть «нормальный» цикл? Следите за тем, чтобы это не путало разбиение на страницы, потому что WordPress также попытается разбить этот цикл и вернуть 404, если он исчерпан, что может быть до того, как вы дойдете до последней страницы. Попробуйте сделать разбиение на страницы только в основном цикле, с крюком pre_get_posts .