Intereting Posts
Аутентифицированный запрос WP REST API V2, возвращающий ошибку 403 на / users / me Single_template для настраиваемого типа сообщений, созданного из плагина, возвращает пустую страницу Опубликовать в WordPress с помощью REST API с внешнего сайта Отображать пользовательский текст при закрытии комментариев. Как работают функции «уникальные ключи и соли» аутентификации? Удалить WP Rest api auth на пользовательских конечных точках Мой поиск по умолчанию не работает Я разбив на страницы не работает таксономии по алфавиту is_archive () не работает над выбранной «страницей сообщений», Как я могу получить идентификатор виджета после перетаскивания для wordpress с помощью jquery? Добавить страницу подменю в своем плагине Принуждение всех сообщений, связанных с типом персонализированного сообщения, старые сообщения в блогах, не показывающиеся в новой теме Есть ли способ группировать определенные CPT в одном элементе панели инструментов? Динамическое изменение атрибутов изображений на сообщениях

Пропуск первых 3 сообщений в запросе wp

Вот запрос, который я использовал.

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $wp_query = new WP_Query('order=asc&orderby=meta_value&meta_key=date&posts_per_page=6&paged=' . $paged); ?> 

Есть ли способ пропустить первые 3 сообщения только на первой странице (? Paged = 1), а не на других страницах (? Paged = 2 ….).

Для пропуска сообщения просто используйте параметр offset в wp_query.

Чтобы отобразить последние три сообщения:

 <?php $latestpost = new WP_Query('order=asc&orderby=meta_value&meta_key=date&posts_per_page=3'); //Here add loop to display posts like while($latestpost->have_posts()) : $latestpost->the_post(); the_title(); the_content(); endwhile; wp_reset_query(); //After that skip three posts using offset $latestpost = new WP_Query('order=asc&orderby=meta_value&meta_key=date&posts_per_page=6&offset=3&paged=' . $paged); the_title(); the_content(); endwhile; wp_reset_query(); ?> 

это оно

Используя параметр смещения: https://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters

 $wp_query = new WP_Query('order=asc&orderby=meta_value&meta_key=date&posts_per_page=6&offset=3&paged=' . $paged); ?> 

http://www.smashingmagazine.com/2009/06/10-useful-wordpress-loop-hacks/#2-use-more-than-one-loop-on-a-page-without-printing-duplicate-posts

Ну, я просто последовал этому методу и внес некоторые изменения в него …

 // in functions.php $mega = new WP_Query('order=asc&orderby=meta_value&meta_key=date&posts_per_page=3'); //set the posts per page to 3 so the id's of the first 3 posts will be shown $ids = array(); while ($mega->have_posts()) : $mega->the_post(); $ids[] = get_the_ID(); endwhile; 

После этого в основной цикл для пропуска первых трех циклов сообщений, которые я немного изменил.

  $args= array( 'post_type' => 'post', 'posts_per_page' => 6, 'paged' => $paged, 'order'=> 'asc', 'orderby'=> 'meta_value', 'meta_key'=>'date', 'post__not_in' => $ids ); $wp_query = new WP_Query($args); 

И это работает, как я хотел ..

Вместо использования атрибута offset вы подумали о том, что в цикле увеличивается значение переменной var со значением 1. Если цикл, если он меньше 4, ничего не делает, иначе

 <?php $p=1; while ( have_posts() ) : the_post(); if($p > 3) { ?> // DO STUFF 

Это не решает проблему, но вы можете установить условие, что если это первая страница, то пропустите первые 3?