У меня работает так
<?php $first_post = get_posts( array(
'numberposts' => 1,
'cat' => '-3792',
'tag__not_in' => '3867',
'post__in' => get_option( 'sticky_posts' ),
)); ?>
<?php $num = 1; ?>
<?php foreach( $first_post as $post ) : setup_postdata( $post ); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class( pg_get_posts_classes( $num ) ); ?>>
<div class="inner">
<div class="caption">
<div class="thumbnail">
<a href="<?php the_permalink() ?>">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'pg-main' );
} else {
pg_first_attachment_image( $post->ID, 'pg-main' );
}
?>
</a>
</div>
<?php pg_entry_meta( $post->ID ); ?>
<h3 class="entry-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
</div>
</article>
<?php endforeach; ?>
<?php query_posts( array(
'posts_per_page' => 8,
'cat' => '-3792',
'post__not_in' => array( $first_post[0]->ID ),
'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 ),
));
?>
<?php $num = 2; ?>
<?php while (have_posts()) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class( pg_get_posts_classes( $num ) ); ?>>
<?php get_template_part( 'content', get_post_format() ); ?>
</article>
<?php $num++; ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>