Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
WordPress: Get all posts but only so many at a time
<?php
$query_args = array(
'foo' => 'bar',
'apple' => 'orange',
'posts_per_page' => 50,
'offset' => 0,
);
$some_posts = new WP_Query( $query_args );
while ( $some_posts->have_posts() ) {
/*
* Do some stuff here
*/
// Get more posts
$query_args['offset'] = $query_args['offset'] + $query_args['posts_per_page'];
$some_posts = new WP_Query( $query_args );
}
@steve228uk

This comment has been minimized.

Copy link

@steve228uk steve228uk commented Apr 24, 2012

Love this!

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Mar 7, 2016

Don't forget to call wp_reset_postdata() after running a subquery

@ruslan3636

This comment has been minimized.

Copy link

@ruslan3636 ruslan3636 commented Feb 17, 2021

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-190010289-1"> </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-190010289-1'); </script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment