首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >木材+古腾堡ACF块不会渲染前端

木材+古腾堡ACF块不会渲染前端
EN

Stack Overflow用户
提问于 2021-03-11 19:00:08
回答 1查看 544关注 0票数 0

这是我的班,在木材网站的扩展类。

代码语言:javascript
复制
<?php 

    class EngineACF  extends Timber\Site {

        public function __construct() {
            parent::__construct();
            add_action( 'admin_head' , [$this, 'adminStyle']);
            add_action( 'acf/init', [$this, '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, 'title'),
                        '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 );
        }
 
    }

我也有,块/主页-滑块-区块.小枝文件。在管理面板中,有了古腾堡编辑器,一切都很完美。但是在前端,post内容不能正确地工作/呈现。

有什么帮助吗?谢谢。

输出如下:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-11 19:20:13

好的。我刚发现了问题所在。我在使用来自小枝的post.post_content变量。

显然不是一个包含最终内容的变量。

对于有类似问题的人的未来参考:使用{{post.content}}变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66588840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档