get_children()
get_children( mixed $args = ”, string $output = OBJECT …
get_children( mixed $args = ”, string $output = OBJECT )
检索post parent ID的所有子项。
Retrieve all children of the post parent ID.
目录锚点:#说明#参数#返回#源码#笔记
说明(Description)
另见函数 get_posts()
参数(Parameters)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
$args | (mixed) | 可选 | 用于替换默认值的用户定义参数。 |
$output | (string) | 可选 | 所需的返回类型。数组或数组中的一个,分别对应于WP后对象、关联数组或数值数组。 |
返回(Return)
(WP_Post[]|int[])Post对象或Post id的数组。
源码(Source)
/** * Retrieve all children of the post parent ID. * * Normally, without any enhancements, the children would apply to pages. In the * context of the inner workings of WordPress, pages, posts, and attachments * share the same table, so therefore the functionality could apply to any one * of them. It is then noted that while this function does not work on posts, it * does not mean that it won't work on posts. It is recommended that you know * what context you wish to retrieve the children of. * * Attachments may also be made the child of a post, so if that is an accurate * statement (which needs to be verified), it would then be possible to get * all of the attachments for a post. Attachments have since changed since * version 2.5, so this is most likely unaccurate, but serves generally as an * example of what is possible. * * The arguments listed as defaults are for this function and also of the * {@link get_posts()} function. The arguments are combined with the * get_children defaults and are then passed to the {@link get_posts()} * function, which accepts additional arguments. You can replace the defaults in * this function, listed below and the additional arguments listed in the * {@link get_posts()} function. * * The 'post_parent' is the most important argument and important attention * needs to be paid to the $args parameter. If you pass either an object or an * integer (number), then just the 'post_parent' is grabbed and everything else * is lost. If you don't specify any arguments, then it is assumed that you are * in The Loop and the post parent will be grabbed for from the current post. * * The 'post_parent' argument is the ID to get the children. The 'numberposts' * is the amount of posts to retrieve that has a default of '-1', which is * used to get all of the posts. Giving a number higher than 0 will only * retrieve that amount of posts. * * The 'post_type' and 'post_status' arguments can be used to choose what * criteria of posts to retrieve. The 'post_type' can be anything, but WordPress * post types are 'post', 'pages', and 'attachments'. The 'post_status' * argument will accept any post status within the write administration panels. * * @since 2.0.0 * * @see get_posts() * @todo Check validity of description. * * @global WP_Post $post * * @param mixed $args Optional. User defined arguments for replacing the defaults. Default empty. * @param string $output Optional. Constant for return type. Accepts OBJECT, ARRAY_A, ARRAY_N. * Default OBJECt. * @return array Array of children, where the type of each element is determined by $output parameter. * Empty array on failure. */ function get_children( $args = '', $output = OBJECT ) { $kids = array(); if ( empty( $args ) ) { if ( isset( $GLOBALS['post'] ) ) { $args = array('post_parent' => (int) $GLOBALS['post']->post_parent ); } else { return $kids; } } elseif ( is_object( $args ) ) { $args = array('post_parent' => (int) $args->post_parent ); } elseif ( is_numeric( $args ) ) { $args = array('post_parent' => (int) $args); } $defaults = array( 'numberposts' => -1, 'post_type' => 'any', 'post_status' => 'any', 'post_parent' => 0, ); $r = wp_parse_args( $args, $defaults ); $children = get_posts( $r ); if ( ! $children ) return $kids; if ( ! empty( $r['fields'] ) ) return $children; update_post_cache($children); foreach ( $children as $key => $child ) $kids[$child->ID] = $children[$key]; if ( $output == OBJECT ) { return $kids; } elseif ( $output == ARRAY_A ) { $weeuns = array(); foreach ( (array) $kids as $kid ) { $weeuns[$kid->ID] = get_object_vars($kids[$kid->ID]); } return $weeuns; } elseif ( $output == ARRAY_N ) { $babes = array(); foreach ( (array) $kids as $kid ) { $babes[$kid->ID] = array_values(get_object_vars($kids[$kid->ID])); } return $babes; } else { return $kids; } }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
2.0.0 | wp-includes/post.php:640 | 6 | 3 |
笔记(Notes)
get_children()返回的每个项都有以下值(显示的名称是从数组映射的;对象使用相同的名称):
显示与帖子关联的第一个图像
显示与post关联的第一个图像并为数组重新设置键
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!