Timber Gutenberg块-动态回调函数

时间:2019-01-03 07:31:03

标签: php wordpress twig timber wordpress-gutenberg

我在 functions.php 中获得了此功能,在这里,对于每个新块,我现在都添加了另一个单独的功能。

我不太确定如何使它动态化,因此我只有一个功能。

functions.php

    function my_acf_block_render_callback( $block ) {
    $context = Timber::get_context();

    // Store block values.
    $context['block'] = $block;

    // Store field values.
    $context['fields'] = get_fields(); 

    // Render the block.
    Timber::render( 'block/bulma-card-block.twig', $context );
}

我得到了这些文件,我已将其注册为块:

  • bulma-card-block.twig
  • bulma-tag-block.twig
  • bulma-other-block.twig
  • ...

    1 个答案:

    答案 0 :(得分:2)

    根据描述ACF块功能的blog post$block变量包含name键下的块名称。

    这意味着您可以使用该名称来选择要动态渲染的Twig模板:

    function my_acf_block_render_callback( $block ) {
        $slug = str_replace( 'acf/', '', $block['name'] );
    
        $context = Timber::get_context();
    
        // Store block values.
        $context['block'] = $block;
    
        // Store field values.
        $context['fields'] = get_fields(); 
    
        // Render the block.
        Timber::render(
            'block/bulma-' . $slug . '-block.twig',
            $context
        );
    }