# get_children()

URL: https://chugunov.pro/api-wordpress/functions/get_children/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.0.0.

## Сигнатура

```php
get_children( mixed $args = '', string $output = OBJECT ): WP_Post[]|array[]|int[]
```

## Описание

Обычно, без каких-либо доработок, дочерние элементы относятся к страницам. С точки зрения внутреннего устройства WordPress страницы, записи и вложения используют одну и ту же таблицу, поэтому эта функциональность может применяться к любому из них. При этом отмечается, что хотя эта функция не работает с записями, это не означает, что она не будет работать с записями. Рекомендуется чётко понимать, дочерние элементы какого контекста вы хотите получить.
Вложения также могут быть сделаны дочерними по отношению к записи, поэтому, если это утверждение верно (что требует проверки), можно будет получить все вложения записи. Вложения с тех пор изменились начиная с версии 2.5, так что это, скорее всего, неточно, но в целом служит примером того, что возможно.
Аргументы, перечисленные как значения по умолчанию, относятся к этой функции, а также к функции get_posts(). Аргументы объединяются со значениями по умолчанию get_children и затем передаются в функцию get_posts(), которая принимает дополнительные аргументы.
Вы можете заменить значения по умолчанию этой функции, перечисленные ниже, а также дополнительные аргументы, перечисленные в функции get_posts().
‘post_parent’ — самый важный аргумент, и особое внимание нужно уделить параметру $args. Если вы передаёте объект или целое число, то берётся только ‘post_parent’, а всё остальное теряется. Если вы не указываете никаких аргументов, то предполагается, что вы находитесь в Цикле, и родительская запись будет взята из текущей записи.
Аргумент ‘post_parent’ — это ID, для которого нужно получить дочерние элементы. ‘numberposts’ — количество получаемых записей, значение по умолчанию ‘-1’, которое используется для получения всех записей. Число больше 0 позволит получить только указанное количество записей.
Аргументы ‘post_type’ и ‘post_status’ можно использовать для выбора критериев получаемых записей. ‘post_type’ может быть любым, но типами записей WordPress являются ‘post’, ‘pages’ и ‘attachments’. Аргумент ‘post_status’ принимает любой статус записи из панелей администрирования публикации.
См. alsoget_posts()

## Параметры

- `$args` `mixed` — необязательный, по умолчанию `''`. Заданные пользователем аргументы для замены значений по умолчанию.
- `$output` `string` — необязательный, по умолчанию `OBJECT`. Требуемый тип возвращаемого значения. Одно из OBJECT, ARRAY_A или ARRAY_N, что соответствует объекту WP_Post, ассоциативному массиву или числовому массиву соответственно.

## Возвращаемое значение

`WP_Post[]|array[]|int[]` — $output

## Исходный код

Файл: `wp-includes/post.php:990`

```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,
	);

	$parsed_args = wp_parse_args( $args, $defaults );

	$children = get_posts( $parsed_args );

	if ( ! $children ) {
		return $kids;
	}

	if ( ! empty( $parsed_args['fields'] ) ) {
		return $children;
	}

	update_post_cache( $children );

	foreach ( $children as $key => $child ) {
		$kids[ $child->ID ] = $children[ $key ];
	}

	if ( OBJECT === $output ) {
		return $kids;
	} elseif ( ARRAY_A === $output ) {
		$weeuns = array();
		foreach ( (array) $kids as $kid ) {
			$weeuns[ $kid->ID ] = get_object_vars( $kids[ $kid->ID ] );
		}
		return $weeuns;
	} elseif ( ARRAY_N === $output ) {
		$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 — Introduced.

## Связанные

Использует: [`update_post_cache`](https://chugunov.pro/api-wordpress/functions/update_post_cache/), [`get_posts`](https://chugunov.pro/api-wordpress/functions/get_posts/), [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/).
Используется в: [`_wp_after_delete_font_family`](https://chugunov.pro/api-wordpress/functions/_wp_after_delete_font_family/), [`get_adjacent_image_link`](https://chugunov.pro/api-wordpress/functions/get_adjacent_image_link/), [`get_media_items`](https://chugunov.pro/api-wordpress/functions/get_media_items/), [`get_attached_media`](https://chugunov.pro/api-wordpress/functions/get_attached_media/), [`gallery_shortcode`](https://chugunov.pro/api-wordpress/functions/gallery_shortcode/), [`wp_playlist_shortcode`](https://chugunov.pro/api-wordpress/functions/wp_playlist_shortcode/), [`wp_get_post_revisions`](https://chugunov.pro/api-wordpress/functions/wp_get_post_revisions/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/get_children/
