get_posts
函数
get_posts ( $args = null )
- 参数
-
-
(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: 否
- Default: null
-
(array)
- 返回值
-
- (WP_Post[]|int[]) Array of post objects or post IDs.
- 相关
-
- WP_Query
- WP_Query::parse_query()
- 定义位置
-
-
wp-includes/post.php
, line 2380
-
wp-includes/post.php
- 引入
- 1.2.0
- 弃用
- –
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:
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 );
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。