Wood-Twig post.content返回NULL无法创建ACF Gutenberg块

时间:2022-01-09 作者:monkeyman905

我在Wordpress网站上使用木材,我正在尝试开始建造古腾堡积木。块在后端编辑器中工作,但我无法让它们在模板中工作。事实上,当我尝试使用{{post.content}}时,内容框中的任何内容都不会打印到屏幕上,因为它只返回null。

如何获取帖子。返回内容的内容?

WP-5.8木材1.18.0

模板块测试。php

<?php
/* Template Name: block test */


$context = Timber::get_context();


Timber::render( \'template-block-test.twig\', $context );
模板块测试。细枝


{%  extends \'base.twig\' %}

{% block content %}
<h1>Header to test file</h1>

{{post.content}} //returns null
<pre>
{{dump()}}
</pre>

{%  endblock %}

功能。php


add_action( \'acf/init\', \'acf_forty_it_block\', 9 );
add_action( \'acf/init\', \'acf_forty_it_block_settings\', 10 );

function acf_forty_it_block() {

    // Check function exists.
    if( function_exists( \'acf_register_block_type\' ) ) {

        // register a testimonial block.
        acf_register_block_type( array(
            \'name\'              => \'fortyblock\',
            \'title\'             => __(\'Forty\'),
            \'description\'       => __(\'Forty does a great job at been 60/40\'),
            \'render_callback\' => \'my_acf_block_render_callback\',
            \'category\'          => \'design\',
            \'icon\'              => \'format-gallery\',
            \'keywords\'          => array( \'test\', \'forty\',  ),
              
        ) );
    }
}



function my_acf_block_render_callback( $block, $content = \'\', $is_preview = false ) {
    $context = Timber::context();

    $context[\'block\'] = $block;
    
    

    $forty = array(
        \'top_header\' => get_field(\'forty_top_header\'),
        \'text\' => get_field(\'forty_text\'),
        \'list_content\' => get_field(\'forty_list_content\'),
        \'image\' => get_field(\'forty_image\'),
        \'color\' => get_field(\'forty_color\'),
      );
      
      $context[\'forty\'] = $sixtyForty;

      $context[\'is_preview\'] = $is_preview;
    // Render the block.
    Timber::render( \'blocks/forty.twig\', $context );
}


1 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

You w我ll need t型o 一dd t型h类e current型 p一g级e object型 t型o t型h类e t型我m级ber cont型ex个t型 us我ng级 t型我m级ber_cont型ex个t型 f我lt型er.
&#x个A.;Som级et型h类我ng级 l我ke t型h类我s

&#x个A.;
一dd_f我lt型er(\'t型我m级ber_cont型ex个t型\', \'bt型_t型我m级ber_一dd_t型o_cont型ex个t型\');&#x个A.;funct型我on bt型_t型我m级ber_一dd_t型o_cont型ex个t型 ($cont型ex个t型) {&#x个A.;    // 一dd current型 p一g级e cont型ent型&#x个A.;    $cont型ex个t型[\'p一g级e\'] = T我m级ber::g级et型_post型();&#x个A.;&#x个A.;    ret型urn $cont型ex个t型;&#x个A.;}&#x个A.;
&#x个A.;

Th类一t型\'s h类ow 我 一dded 我t型 我n m级y cust型om级 t型我m级ber t型h类em级e.
&#x个A.;Now wh类en you w一nt型 t型o g级et型 t型h类e p一g级e cont型ent型 you c一n do t型h类我s

&#x个A.;
{{ p一g级e.cont型ent型 }}&#x个A.;
&#x个A.;

Th类我s 我s 一v一我l一lbe only 我f you use T我m级ber::cont型ex个t型() 我n your render/com级p我le m级et型h类ods.
&#x个A.;B一s我c一lly 我f you use T我m级ber::cont型ex个t型(), one of t型h类e object型 propert型我es w我ll be p一g级e

&#x个A.;

相关推荐

Can I make plugins required?

我正在开发自己的Wordpress主题,将用于多个客户端。它有一个主题选项页面,这样我每次都可以轻松自定义网站,但我也会在我制作的每个网站上使用一些插件(如SEO插件、安全性等)。有没有办法让它们成为“必需的”,这样我就可以得到这些插件的列表,这样当我在新网站上安装主题时就不必在插件目录中找到它们了?