Timber Gutenberg Block - 动态回调函数

Timber Gutenberg Block - dynamic callback function

我在我的 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 );
}

我得到了这些我注册为块的文件:

  • 布尔玛卡-block.twig
  • 布尔玛标签-block.twig
  • 布尔玛-其他-block.twig
  • ...

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

    这意味着您可以将该名称用于 select 您想要动态呈现的 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
        );
    }