WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

has_blocks() WP 5.0.0

Определяет, содержит ли указанная строка или контент указанной записи блоки Гутенберга.

Определяет наличие блока по конструкции <!-- wp: в переданном контенте.

В целях оптимизации эта функция лишь определяет наличие блоков, но не проверяет их структуру. Для высокой точности следует использовать парсер блоков: parse_blocks().

✈ 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

Примеры

#1 Проверим строку на наличие блоков

$content = '
<!-- wp:paragraph -->
<p>Это контент обычной записи. Спасибо за внимание!</p>
<!-- /wp:paragraph -->
';

if ( has_blocks( $content ) ) {
	echo 'Контент имеет блоки'; // Выведет на экран эту строку
} else {
	echo 'Контент не имеет блоков';
}

Код has_blocks: wp-includes/blocks.php VER 5.0.1

<?php
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:' );
}

Cвязанные функции

Из раздела: Остальное

campusboy 3081youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7144
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться