WordPress Version: 6.1
/**
* Retrieves a number of recent posts.
*
* @since 1.0.0
*
* @see get_posts()
*
* @param array $args Optional. Arguments to retrieve posts. Default empty array.
* @param string $output Optional. The required return type. One of OBJECT or ARRAY_A, which
* correspond to a WP_Post object or an associative array, respectively.
* Default ARRAY_A.
* @return array|false Array of recent posts, where the type of each element is determined
* by the `$output` parameter. Empty array on failure.
*/
function wp_get_recent_posts($args = array(), $output = ARRAY_A)
{
if (is_numeric($args)) {
_deprecated_argument(__FUNCTION__, '3.1.0', __('Passing an integer number of posts is deprecated. Pass an array of arguments instead.'));
$args = array('numberposts' => absint($args));
}
// Set default arguments.
$defaults = array('numberposts' => 10, 'offset' => 0, 'category' => 0, 'orderby' => 'post_date', 'order' => 'DESC', 'include' => '', 'exclude' => '', 'meta_key' => '', 'meta_value' => '', 'post_type' => 'post', 'post_status' => 'draft, publish, future, pending, private', 'suppress_filters' => true);
$parsed_args = wp_parse_args($args, $defaults);
$results = get_posts($parsed_args);
// Backward compatibility. Prior to 3.1 expected posts to be returned in array.
if (ARRAY_A === $output) {
foreach ($results as $key => $result) {
$results[$key] = get_object_vars($result);
}
return $results ? $results : array();
}
return $results ? $results : false;
}