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:

1 to 38 of 38
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 );
}
 

 View on GitHub View on Trac