Пропуск первых 3 записей в WP Query
Вот запрос, который я использую.
<?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');
//Здесь добавьте цикл для отображения постов, например:
while($latestpost->have_posts()) : $latestpost->the_post();
the_title();
the_content();
endwhile; wp_reset_query();
//После этого пропустите три поста с помощью 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();
?>
Вот и всё

Я просто последовал этому методу и внес некоторые изменения...
// в functions.php
$mega = new WP_Query('order=asc&orderby=meta_value&meta_key=date&posts_per_page=3');
// установил количество постов на странице равным 3, чтобы отображались ID первых 3 постов
$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: 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); ?>

@MeghGandhi вы понимаете, что проблема с пагинацией никак не связана с параметром offset
. Ваш запрос уже сломал пагинацию.

на самом деле WordPress генерирует свой собственный offset, что делает пагинацию рабочей, а когда мы вручную устанавливаем параметры, это ломает пагинацию.. http://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination

Я бы еще раз проверил пагинацию.. иногда ее бывает сложно правильно реализовать. Попробуй выполнить запрос без свойств posts_per_page
и paged
и посмотреть, будет ли пагинация работать корректно на основе стандартных настроек WordPress (Настройки > Чтение).

http://www.smashingmagazine.com/2009/06/10-useful-wordpress-loop-hacks/#2-use-more-than-one-loop-on-a-page-without-printing-duplicate-posts ну я использовал этот метод, добавил код в functions и все работает, ура!

Вместо использования атрибута offset
вы думали о создании переменной со значением 1, которая увеличивается в цикле. Если цикл меньше 4, ничего не делать, иначе
<?php
$p=1;
while ( have_posts() ) : the_post();
if($p > 3) {
?>
// ВЫПОЛНЯЕМ ДЕЙСТВИЯ
Это не решает проблему, но, возможно, можно установить условие, что если это первая страница, то пропустить первые 3?
