has_block()

Функция проверяет наличие определённого блока Gutenberg в строке или контенте поста/страницы, но не проверяет его валидность.

has_block( $block_name, $post = null )
$block_name
(строка) Название блока.
$post
(целое число|WP_Post|строка) Вы также можете указать определённый пост, в котором хотите прочекать наличие определённого блока, по умолчанию – текущий пост. Также можно передать для проверки произвольное строковое значение.

Возвращает true или false.

Примеры использования

Проверяем, что в контенте текущего поста присутствует блок «Галерея» или блок «Кнопка»:

if ( has_block( 'gallery' ) || has_block( 'button' ) ) {
	// да, хотя бы один из этих блоков есть, делаем что-то
}

Или например для определённого содержимого:

$content = '<!-- wp:gallery {"ids" : [1, 5, 7]} -->';
 
if( has_block( 'gallery', $content ) ) { // вернёт true
	// да, там есть блок галереи
}

Если вы создали собственный блок, то код будет выглядеть так:

if ( has_block( 'truemisha/block-name' ) ) {
	// если true
} else {
	// если false
}

Кстати, про создание собственного блока Gutenberg на моём сайте есть видеокурс!

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.