如何解决Timber + Gutenberg ACF Blocks 不渲染前端
这是在 Timber Site 类上扩展的我的类。
<?PHP
class EngineACF extends Timber\Site {
public function __construct() {
parent::__construct();
add_action( 'admin_head',[$this,'adminStyle']);
add_action( 'acf/init','acfBlocks'] );
}
/**
* Define Gutenberg Blocks
* @version 1.0
*/
public function acfBlocks()
{
if (!function_exists( 'acf_register_block' )) {
return;
}
$blocks = [
[
'name' => 'homepage-slider','title' => 'Homepage Slider'
]
];
foreach ($blocks as $perKey => $perBlock) {
acf_register_block(
[
'name' => data_get($perBlock,'name'),'title' => data_get($perBlock,'title'),'description' => data_get($perBlock,'render_callback' => [$this,'renderAcfCallback'],'category' => 'formatting','icon' => 'format-aside','keywords' => [str_replace(' ',',data_get($perBlock,'name'))],]
);
}
}
/**
* Render Dynamic Gutenberg block template
* @version 1.0
*/
public function renderAcfCallback( $block,$content = '',$is_preview = false ) {
$blockName = data_get($block,'name');
$blockName = str_replace('acf/','',$blockName);
$context = Timber::context();
$context['block'] = $block;
$context['fields'] = get_fields();
$context['is_preview'] = $is_preview;
Timber::render( 'blocks/'.$blockName.'-block.twig',$context );
}
}
我也有,blocks/homepage-slider-block.twig 文件。 在管理面板中,使用古腾堡编辑器一切正常。但在前端,帖子内容无法正常工作/呈现。
有帮助吗? 谢谢。
输出如下:
解决方法
好的。我刚刚发现了问题所在。
我使用的是 twig 中的 post.post_content
变量。
显然这不是包含最终内容的变量。
供遇到此类问题的人未来参考:
使用 {{post.content}}
变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。