我有一个使用以下 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"
}
}
它对我有用的是在类名之前添加我的插件的名称空间,并且首先包含包含您的类的文件。
因此,在您的 block.json 被评估之前,您需要在类文件上执行include/require
,然后在 json 中执行:
"renderCallback": "YourNamespace\\ACFCompatibility::render"