微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在模板中访问特定的古腾堡块

如何解决在模板中访问特定的古腾堡块

试图解决这个问题。我在 WP 中有一个页面,我使用块编辑器。我试图摆脱一个 ACF 字段并过渡到使用本机块编辑器。通常我会创建一个 ACF WSYWIG 字段,'intro_content' 并称之为

ObjectDTO

但是,我希望能够定位原生 Gutenberg 块。例如,我有 4 个单独的段落块,我想将第二个放在页面上的某个位置。

我可以像这样输出所有块的数组:

<?PHP the_field('intro_content'); ?>

这将在页面输出

<?PHP
    $blocks = parse_blocks( get_the_content() );
    print_r($blocks);
?>

如何将 P3 的 innerContent 放置在模板中?

Array ( [0] => Array ( [blockName] => core/paragraph [attrs] => Array ( [className] => foobar ) [innerBlocks] => Array ( ) [innerHTML] =>
This is P1
[innerContent] => Array ( [0] =>
This is P1
) ) [1] => Array ( [blockName] => [attrs] => Array ( ) [innerBlocks] => Array ( ) [innerHTML] => [innerContent] => Array ( [0] => ) ) [2] => Array ( [blockName] => core/paragraph [attrs] => Array ( ) [innerBlocks] => Array ( ) [innerHTML] =>
This is P2
[innerContent] => Array ( [0] =>
This is P2
) ) [3] => Array ( [blockName] => [attrs] => Array ( ) [innerBlocks] => Array ( ) [innerHTML] => [innerContent] => Array ( [0] => ) ) [4] => Array ( [blockName] => core/paragraph [attrs] => Array ( ) [innerBlocks] => Array ( ) [innerHTML] =>
This is P3
[innerContent] => Array ( [0] =>
This is P3
) ) [5] => Array ( [blockName] => [attrs] => Array ( ) [innerBlocks] => Array ( ) [innerHTML] => [innerContent] => Array ( [0] => ) ) [6] => Array ( [blockName] => core/paragraph [attrs] => Array ( ) [innerBlocks] => Array ( ) [innerHTML] =>
This is P4
[innerContent] => Array ( [0] =>
This is P4
) ) )

我有一些 wpdatatable 块,我可以这样显示它们:

echo $blocks[3]

但不能访问除“get_the_content()”以外的特定内容

我是否误解了如何使用这些?是否可以通过以某种方式给它一个类名或 ID 来定位?还是只是数组顺序? 谢谢。

解决方法

非常简单。它只是一个数组。沉迷于所有古腾堡的东西。

$blocks = parse_blocks( get_the_content() );
echo($blocks[4]['innerHTML']);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。