has_blocks() WP 5.0.0

Визначає, чи вказаний рядок або контент зазначеного запису містить блоки Гутенберг.

Визначає наявність блоку конструкції <!-- wp:в переданому контенті.

З метою оптимізації ця функція лише визначає наявність блоків, але з перевіряє їх структуру. Для високої точності слід використовувати парсер блоків parse_blocks() .

Використовуйте has_block() , щоб перевірити, чи є в рядку вказаний блок.

Основа для:
has_block()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.04 сек
(швидкість світла) |
PHP 7.2.5, WP 5.0

Хуків немає.

Повертає

true|false. true– має блок(и); false– не має.

Використання

has_blocks($post);
$post
(число/рядок/WP_Post/null)
ID або об’єкт запису, у контенті якого потрібно перевірити наявність блоків. Або можна просто передати рядок (контент).


Типово: global $post

Приклади

0

#1 Перевіримо рядок на наявність блоків

$content = '
<!-- wp:paragraph -->
<p>Це вміст звичайного запису. Дякую за увагу!</p>
<!-- /wp:paragraph -->
';

if ( has_blocks( $content ) ) {
	echo 'Контент має блоки'; // Виведе на екран цей рядок
} else {
	echo 'Контент не має блоків';
}

нотатки

список змін

З версії 5.0.0Введено.

Код has_blocks() WP 6.0.2

function has_blocks( $post = null ) {
	if ( ! is_string( $post ) ) {
		$wp_post = get_post($post);
		if ( $wp_post instanceof WP_Post ) {
			$post = $wp_post->post_content;
		}
	}

	return false !== strpos( (string) $post, '<!-- wp:' );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *