php - Timber Gutenberg Block - 动态回调函数
问题描述
我在我的functions.php中得到了这个,对于每个新块,我目前正在添加另一个单独的函数。
我不太确定如何使这个动态化,所以我只有一个功能。
函数.php
function my_acf_block_render_callback( $block ) {
$context = Timber::get_context();
// Store block values.
$context['block'] = $block;
// Store field values.
$context['fields'] = get_fields();
// Render the block.
Timber::render( 'block/bulma-card-block.twig', $context );
}
我得到了这些我注册为块的文件:
解决方案
根据描述 ACF 块功能的博客文章,该$block
变量包含name
键下块的名称。
这意味着您可以使用该名称来选择要动态呈现的 Twig 模板:
function my_acf_block_render_callback( $block ) {
$slug = str_replace( 'acf/', '', $block['name'] );
$context = Timber::get_context();
// Store block values.
$context['block'] = $block;
// Store field values.
$context['fields'] = get_fields();
// Render the block.
Timber::render(
'block/bulma-' . $slug . '-block.twig',
$context
);
}
推荐阅读
- java - 使用 lambda 表达式使用可选键访问映射中的值
- android - 使用共享首选项时,SecondActivity 不起作用
- elasticsearch - Logstash 不适用于输入文本文件
- javascript - 承诺没有执行正确?
- css - 我正在使用 hostgator 并且在我的样式表上它说这里不允许导入错误
- azure - Azure 数据工厂中的条件接收器
- postgresql - SQL - 计算另一个表上每个结果的实例数
- spring-boot - 更改用于运行@StreamListener 方法的线程名称
- .net - 您可以在 .NET 3.1 旁边运行 .NET Core 2.2 应用程序吗?
- html - 从 WEB FORM 将图像上传到 Google 电子表格