get_posts() – Retrieves an array of the latest posts, or posts matching the given criteria.
You appear to be a bot. Output may be restricted
Description
Retrieves an array of the latest posts, or posts matching the given criteria.
For more information on the accepted arguments, see the {@link https://developer.wordpress.org/reference/classes/wp_query/ 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:
Usage
$WP_Post[]|int[] = get_posts( $args );
Parameters
- $args
- ( array ) optional – { Optional. Arguments to retrieve posts. See WP_Query::parse_query() for all available arguments.
- $numberposts
- ( int ) optional – Total number of posts to retrieve. Is an alias of
$posts_per_page
in WP_Query. Accepts -1 for all. Default 5. - $category
- ( int|string ) optional – Category ID or comma-separated list of IDs (this or any children). Is an alias of
$cat
in WP_Query. Default 0. - $include
- ( int[] ) optional – An array of post IDs to retrieve, sticky posts will be included. Is an alias of
$post__in
in WP_Query. Default empty array. - $exclude
- ( int[] ) optional – An array of post IDs not to retrieve. Default empty array.
- $suppress_filters
- ( bool ) optional – Whether to suppress filters. Default true. }
Returns
WP_Post[]|int[] Array of post objects or post IDs.
Source
File name: wordpress/wp-includes/post.php
Lines:
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 ); }