wpseek.com
A WordPress-centric search engine for devs and theme authors



get_posts › WordPress Function

Since1.2.0
Deprecatedn/a
get_posts ( $args = null )
Parameters:
  • (array) $args { Optional. Arguments to retrieve posts. See WP_Query::parse_query() for all available arguments. @type int $numberposts Total number of posts to retrieve. Is an alias of `$posts_per_page` in WP_Query. Accepts -1 for all. Default 5. @type int|string $category Category ID or comma-separated list of IDs (this or any children). Is an alias of `$cat` in WP_Query. Default 0. @type int[] $include An array of post IDs to retrieve, sticky posts will be included. Is an alias of `$post__in` in WP_Query. Default empty array. @type int[] $exclude An array of post IDs not to retrieve. Default empty array. @type bool $suppress_filters Whether to suppress filters. Default true. }
    Required: No
    Default: null
See:
  • WP_Query
  • WP_Query::parse_query()
Returns:
  • (WP_Post[]|int[]) Array of post objects or post IDs.
Defined at:
Codex:

Retrieves an array of the latest posts, or posts matching the given criteria.

For more information on the accepted arguments, see the {@link WP_Query} documentation in the Developer Handbook. The $ignore_sticky_posts and $no_found_rows arguments are ignored by this function and both are set to true. The defaults are as follows:


Source

function get_posts( $args = null ) {
	$defaults = array(
		'numberposts'      => 5,
		'category'         => 0,
		'orderby'          => 'date',
		'order'            => 'DESC',
		'include'          => array(),
		'exclude'          => array(),
		'meta_key'         => '',
		'meta_value'       => '',
		'post_type'        => 'post',
		'suppress_filters' => true,
	);

	$parsed_args = wp_parse_args( $args, $defaults );
	if ( empty( $parsed_args['post_status'] ) ) {
		$parsed_args['post_status'] = ( 'attachment' === $parsed_args['post_type'] ) ? 'inherit' : 'publish';
	}
	if ( ! empty( $parsed_args['numberposts'] ) && empty( $parsed_args['posts_per_page'] ) ) {
		$parsed_args['posts_per_page'] = $parsed_args['numberposts'];
	}
	if ( ! empty( $parsed_args['category'] ) ) {
		$parsed_args['cat'] = $parsed_args['category'];
	}
	if ( ! empty( $parsed_args['include'] ) ) {
		$incposts                      = wp_parse_id_list( $parsed_args['include'] );
		$parsed_args['posts_per_page'] = count( $incposts );  // Only the number of posts included.
		$parsed_args['post__in']       = $incposts;
	} elseif ( ! empty( $parsed_args['exclude'] ) ) {
		$parsed_args['post__not_in'] = wp_parse_id_list( $parsed_args['exclude'] );
	}

	$parsed_args['ignore_sticky_posts'] = true;
	$parsed_args['no_found_rows']       = true;

	$get_posts = new WP_Query();
	return $get_posts->query( $parsed_args );
}