‘paged’ in wp_query doesn’t work

You set offset param, so paged param is ignored 😉

From Codex:

offset (int) – number of post to displace or pass over. Warning: Setting the offset parameter overrides/ignores the paged

If you want to ignore most recent post in this query, you can achieve it in two ways.

1. Custom pagination.

$ppp = get_option('posts_per_page');  // or any other method to get your posts_per_page

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
    'offset' => 1 + ( $paged * $ppp ),
    'cat' => -22,
    'paged'=>$paged
);

2. Ignore first post

$most_recent_post_id = ...;  // get the ID of most recent post
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
    'post__not_in' => array($most_recent_post_id),
    'cat' => -22,
    'paged'=>$paged
);

Leave a Comment