有没有办法在block.json中为ACF`renderCallback`定义类方法?

问题描述 投票:0回答:1

我有一个使用以下 block.json 定义的自定义古腾堡块:

{
    "name": "my-blocks/contact",
    "title": "Contact",
    "category": "my-blocks",
    "acf": {
        "mode": "edit",
        "renderCallback": "block_render_callback"
    }
}

该块是使用

register_block_type('path/to/block.json')

注册的

以上工作正常,当渲染回调设置为我的全局函数时,块正在渲染

block_render_callback

我正在尝试找出一种将

renderCallback
定义为类方法的方法。有办法做到吗?

我尝试了以下方法:

{
    "name": "my-blocks/contact",
    "title": "Contact",
    "category": "my-blocks",
    "acf": {
        "mode": "edit",
        "renderCallback": "ACFCompatibility::render"
    }
}

该块根本没有渲染。

以下方法也不起作用:

{
    "name": "my-blocks/contact",
    "title": "Contact",
    "category": "my-blocks",
    "acf": {
        "mode": "edit",
        "renderCallback": "\\ACFCompatibility\\render"
    }
}
wordpress wordpress-theming advanced-custom-fields wordpress-gutenberg
1个回答
0
投票

它对我有用的是在类名之前添加我的插件的名称空间,并且首先包含包含您的类的文件。

因此,在您的 block.json 被评估之前,您需要在类文件上执行

include/require

 ,然后在 json 中执行:

"renderCallback": "YourNamespace\\ACFCompatibility::render"
    
© www.soinside.com 2019 - 2024. All rights reserved.