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