has_blocks()
Визначає, чи вказаний рядок або контент зазначеного запису містить блоки Гутенберг.
Визначає наявність блоку конструкції <!-- wp:
в переданому контенті.
З метою оптимізації ця функція лише визначає наявність блоків, але з перевіряє їх структуру. Для високої точності слід використовувати парсер блоків parse_blocks() .
Використовуйте has_block() , щоб перевірити, чи є в рядку вказаний блок.
Основа для:
has_block()
has_block()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.04 сек
(швидкість світла) |
PHP 7.2.5, WP 5.0
(швидкість світла) | 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 'Контент не має блоків'; }
нотатки
- Дивіться: parse_blocks()
список змін
З версії 5.0.0 | Введено. |
Код has_blocks() 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:' ); }