# get_page_by_title()

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

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

> Устаревший элемент. Помечен устаревшим с версии 6.2.0.

## Сигнатура

```php
get_page_by_title( string $page_title, string $output = OBJECT, string|array $post_type = 'page' ): WP_Post|array|null
```

## Описание

Если несколько записей используют один и тот же заголовок, будет возвращена запись с наименьшим ID.
Будьте внимательны: при наличии нескольких записей с одинаковым заголовком проверяется самая ранняя дата публикации, а не наименьший ID.
Поскольку функция использует сравнение MySQL '=', $page_title обычно сопоставляется без учёта регистра при сортировке по умолчанию.

## Параметры

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

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

`WP_Post|array|null` — WP_Post

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

Файл: `wp-includes/deprecated.php:4573`

```php
function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
	_deprecated_function( __FUNCTION__, '6.2.0', 'WP_Query' );
	global $wpdb;

	if ( is_array( $post_type ) ) {
		$post_type           = esc_sql( $post_type );
		$post_type_in_string = "'" . implode( "','", $post_type ) . "'";
		$sql                 = $wpdb->prepare(
			"SELECT ID
			FROM $wpdb->posts
			WHERE post_title = %s
			AND post_type IN ($post_type_in_string)",
			$page_title
		);
	} else {
		$sql = $wpdb->prepare(
			"SELECT ID
			FROM $wpdb->posts
			WHERE post_title = %s
			AND post_type = %s",
			$page_title,
			$post_type
		);
	}

	$page = $wpdb->get_var( $sql );

	if ( $page ) {
		return get_post( $page, $output );
	}

	return null;
}
```

## История изменений

- 6.2.0 — Deprecated. Use WP_Query.
- 3.0.0 — The $post_type parameter was added.
- 2.1.0 — Introduced.

## Связанные

Использует: [`esc_sql`](https://chugunov.pro/api-wordpress/functions/esc_sql/), [`_deprecated_function`](https://chugunov.pro/api-wordpress/functions/_deprecated_function/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/), `wpdb::get_var`, `wpdb::prepare`.

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