首页 > 解决方案 > ACF Theme Code Pro 不在页面上显示内容

问题描述

我正在使用 ACF Pro 和 ACF Theme Code Pro 插件。它在管理面板中正常工作,但不能在现场工作。

也许有人知道我做错了什么?

我的functions.php

add_action( 'acf/init', 'register_about_service_block' );

function register_about_service_block() {

    if ( function_exists( 'acf_register_block_type' ) ) {

        // Register About service block
        acf_register_block_type( array(
            'name'                  => 'about-service',
            'title'                 => __( 'About service' ),
            'description'           => __( 'A custom About service block.' ),
            'category'              => 'formatting',
            'icon'                  => 'layout',
            'keywords'              => array( 'about', 'service' ),
            'post_types'            => array( 'post', 'page' ),
            'mode'                  => 'auto',
            // 'align'              => 'wide',
            'render_template'       => 'template-parts/blocks/about-service.php',
            // 'render_callback'    => 'about_service_block_render_callback',
             'enqueue_style'        => get_template_directory_uri() . '/dist/css/services.min.css',
            // 'enqueue_script'     => get_template_directory_uri() . '/template-parts/blocks/about-service/about-service.js',
            // 'enqueue_assets'     => 'about_service_block_enqueue_assets',
        ));
    }
}

我可以在我的模板中使用的插件生成代码。我在模板中使用它,它在管理面板中正常工作。看起来像这样

在此处输入图像描述

但是在我的页面上,我使用这个模板的地方它不起作用。Еhe 模板本身已正确连接。

函数 acf_register_block_type 必须返回 $block

function acf_register_block_type( $block ) {
    
    // Validate block type settings.
    $block = acf_validate_block_type( $block );
    
    // Bail early if already exists.
    if( acf_has_block_type($block['name']) ) {
        return false;
    }
    
    // Add to storage.
    acf_get_store( 'block-types' )->set( $block['name'], $block );
    
    // Register block type in WP.
    if( function_exists('register_block_type') ) {
        register_block_type($block['name'], array(
            'attributes'        => acf_get_block_type_default_attributes(),
            'render_callback'   => 'acf_rendered_block',
        ));
    }
    
    // Register action.
    add_action( 'enqueue_block_editor_assets', 'acf_enqueue_block_assets' );
    
    // Return block.
    return $block;
}

然后 $block 必须在我的模板中使用,但是当我制作 var_dump($block) 时,我得到空值。因此我不能在模板中使用 $block 的数据

标签: phpwordpressadvanced-custom-fields

解决方案


推荐阅读