# has_blocks()

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

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

## Сигнатура

```php
has_blocks( int|string|WP_Post|null $post = null ): bool
```

## Описание

Эта проверка оптимизирована для скорости, а не для строгой точности: она обнаруживает шаблон блока, но не проверяет его структуру. Для строгой точности следует применять парсер блоков к содержимому записи.
См. alsoparse_blocks()

## Параметры

- `$post` `int|string|WP_Post|null` — необязательный, по умолчанию `null`. Содержимое записи, идентификатор записи или объект записи.
  
  По умолчанию — глобальная переменная $post.

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

`bool`

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

Файл: `wp-includes/blocks.php:818`

```php
function has_blocks( $post = null ) {
	if ( ! is_string( $post ) ) {
		$wp_post = get_post( $post );

		if ( ! $wp_post instanceof WP_Post ) {
			return false;
		}

		$post = $wp_post->post_content;
	}

	return str_contains( (string) $post, '<!-- wp:' );
}
```

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

- 5.0.0 — Introduced.

## Связанные

Использует: [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/).
Используется в: [`apply_block_hooks_to_content_from_post_object`](https://chugunov.pro/api-wordpress/functions/apply_block_hooks_to_content_from_post_object/), [`block_version`](https://chugunov.pro/api-wordpress/functions/block_version/), [`do_blocks`](https://chugunov.pro/api-wordpress/functions/do_blocks/), [`has_block`](https://chugunov.pro/api-wordpress/functions/has_block/), [`excerpt_remove_blocks`](https://chugunov.pro/api-wordpress/functions/excerpt_remove_blocks/), `_WP_Editors::parse_settings`.

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