我唯一能想到的就是[parse_block()][1]
和[render_block()][1]
parse\\u block将html块解析为数组,render\\u block将数组转换为内容。
以下是如何使用上述函数(未测试的代码)实现所需功能的示例:
<?php
if (has_post_thumbnail()) {
the_post_thumbnail();
}
?>
<?php
if (has_post_thumbnail()) {
?>
<header class="entry-header">
<?php
the_title(\'<h1 class="entry-title">\', \'</h1>\');
?>
</header>
<?php
}
?>
<?php
$renderd_content = "";
$parsed_blocks = parse_blocks($post->content);
foreach ($parse_blocks as $block_index => $block_attr) {
if ($block_index === 1 && !has_post_thumbnail()) {
$renderd_content .= the_title(\'<h1 class="entry-title">\', \'</h1>\', false);
}
$renderd_content .= render_block($block_attr);
}
echo $renderd_content;
?>
这里有一个链接,提供了更多的例子,并讨论了ACF。
https://www.billerickson.net/access-gutenberg-block-data/#acf-block-data