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

Timber + Gutenberg ACF Blocks 不渲染前端

如何解决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 文件。 在管理面板中,使用古腾堡编辑器一切正常。但在前端,帖子内容无法正常工作/呈现。

有帮助吗? 谢谢。

输出如下:

frontend output

解决方法

好的。我刚刚发现了问题所在。 我使用的是 twig 中的 post.post_content 变量。

显然这不是包含最终内容的变量

供遇到此类问题的人未来参考: 使用 {{post.content}} 变量。

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