Отримує дані про блоки (Гутенберг) з переданого контенту (рядки).
Повертає
Массив[]
. Дані щодо блоків.
Використання
parse_blocks($content);
-
$content
(рядок) (обов’язковий) -
Контент, який потрібно розпарити.
Приклади
#1 Приклад даних, що повертаються
Нехай у нас наступного виду контент:
<!-- wp:gallery {"ids":[11]} -->
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure>
<img src="https://wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1-1024x656.png" alt=""
data-id="11"
data-full-url="https://wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1.png"
data-link="https://wp-test.ru/my-super-image/"
class="wp-image-11"/>
</figure>
</li>
</ul>
</figure>
<!-- /wp:gallery -->
<!-- wp:cover {"overlayColor":"luminous-vivid-amber"} -->
<div class="wp-block-cover has-luminous-vivid-amber-background-color has-background-dim">
<div class="wp-block-cover__inner-container">
<!-- wp:paragraph {"align":"center","placeholder":"Введіть заголовок...","fontSize":"large"} -->
<p class="has-text-align-center has-large-font-size">Супер заголовок блоку!</p>
<!-- /wp:paragraph -->
</div>
</div>
<!-- /wp:cover -->
<!-- wp:paragraph -->
<p>Звичайний пункт із текстом</p>
<!-- /wp:paragraph -->
Пропустимо цей контент через функцію
$parse_content = parse_blocks($content);
print_r ($ parse_content);
Функція поверне наступний результат:
Array
(
[0] => Array
(
[blockName] => core/gallery
[attrs] => Array
(
[ids] => Array
(
[0] => 11
)
)
[innerBlocks] => Array
(
)
[innerHTML] =>
<figure class="wp-block-gallery columns-1 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src=" https://wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1-1024x656.png" alt="" data-id="11" data-full-url="https: //wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1.png" data-link="https://wp-test.ru/my-super-image/" class= "wp-image-11"/></figure></li></ul></figure>
[innerContent] => Array
(
[0] =>
<figure class="wp-block-gallery columns-1 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src=" https://wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1-1024x656.png" alt="" data-id="11" data-full-url="https: //wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1.png" data-link="https://wp-test.ru/my-super-image/" class= "wp-image-11"/></figure></li></ul></figure>
)
)
[1] => Array
(
[blockName] =>
[attrs] => Array
(
)
[innerBlocks] => Array
(
)
[innerHTML] =>
[innerContent] => Array
(
[0] =>
)
)
[2] => Array
(
[blockName] => core/cover
[attrs] => Array
(
[overlayColor] => luminous-vivid-amber
)
[innerBlocks] => Array
(
[0] => Array
(
[blockName] => core/paragraph
[attrs] => Array
(
[align] => center
[placeholder] => Введіть заголовок...
[fontSize] => large
)
[innerBlocks] => Array
(
)
[innerHTML] =>
<p class="has-text-align-center has-large-font-size">Супер заголовок блоку!</p>
[innerContent] => Array
(
[0] =>
<p class="has-text-align-center has-large-font-size">Супер заголовок блоку!</p>
)
)
)
[innerHTML] =>
<div class="wp-block-cover has-luminous-vivid-amber-background-color has-background-dim"><div class="wp-block-cover__inner-container"></div></div>
[innerContent] => Array
(
[0] =>
<div class="wp-block-cover has-luminous-vivid-amber-background-color has-background-dim"><div class="wp-block-cover__inner-container">
[1] =>
[2] => </div></div>
)
)
[3] => Array
(
[blockName] =>
[attrs] => Array
(
)
[innerBlocks] => Array
(
)
[innerHTML] =>
[innerContent] => Array
(
[0] =>
)
)
[4] => Array
(
[blockName] => core/paragraph
[attrs] => Array
(
)
[innerBlocks] => Array
(
)
[innerHTML] =>
<p>Звичайний пункт із текстом</p>
[innerContent] => Array
(
[0] =>
<p>Звичайний пункт із текстом</p>
)
)
)