检索后父ID的所有子项。

原型

get_children( mixed $args = '', string $output = OBJECT )

描述

通常,在没有任何增强功能的情况下,孩子们会申请页面。在WordPress内部工作的上下文中,页面,帖子和附件共享同一个表,因此功能可以应用于其中任何一个。然后注意到虽然此功能对帖子不起作用,但并不意味着它不适用于帖子。建议你知道你希望检索孩子的上下文。

参考:

  • get_posts()

参数

$args (mixed) (Optional)  用户定义的替换默认值的参数。

$output (string) (Optional)  所需的返回类型。 OBJECT,ARRAY_A或ARRAY_N之一,分别对应于WP_Post对象,关联数组或数值数组。

返回值

(array)  子数组,其中每个元素的类型由$ output参数确定。失败时空阵列。

源文件

路径:wp-includes/post.php

<?php
...
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;
	}
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/get_children/