问题描述
这是在 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}}
变量。