has_block()
Визначає, чи містить переданий рядок або контент переданого поста, зазначений блок (редактора блоків, Гунетберга).
Ця перевірка оптимізована для отримання найвищої швидкості, а не точності визначення блоків, визначається лише блок, але не його структура. Щоб домогтися суворої точності використовуйте парсер блоків: parse_blocks .
Використовуйте has_blocks() , щоб перевірити чи є у рядку хоч якийсь блок.
Працює на основі:
has_blocks()
has_blocks()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.02 сек
(швидкість світла) |
PHP 7.3.20, WP 5.5.1
(швидкість світла) | 50000 разів – 0.02 сек
(швидкість світла) |
PHP 7.3.20, WP 5.5.1
Хуків немає.
Повертає
true|false
. Залежно від того, чи містить вміст запису зазначений блок.
Використання
has_block($block_name, $post);
-
$block_name
(рядок) (обов’язковий) -
Назва блоку, який необхідно визначити (визначити), те що вказується в HTML коментарі:
<!-- wp:block_name -->
. -
$post
(число/рядок/WP_Post/null) -
Рядок або ID посту, або об’єкт посту.
Типово: global $post
Приклади
#1 Чи містить рядок блок галереї
$string= '<!-- wp:gallery {"ids" : [123, 456, 789 ]} -->'; // виведе true if( has_block( 'gallery', $string ) ){ // рядок містить блок галереї }
#2 Чи містить контент поста блок галереї
// Перевірка наявності блоку гутенберг у контенті посту if( has_block('gallery' , 1234 ) ){ // пост з ID 1234 містить блок галереї }
нотатки
- Дивіться: parse_blocks()
список змін
З версії 5.0.0 | Введено. |