WP 5.8(尚未发布)将支持将遗留小部件转换为块。我有一个定制的遗留小部件,我正在尝试添加对将其转换为块的支持。在阅读文档时,我将以下代码添加到我的一个块中。我的遗留小部件有两个属性(attribute1
和attribute2
):
JAVASCRIPT:
transforms: {
from: [
{
type: \'block\',
blocks: [ \'my/custom-block\' ],
isMatch: ( { idBase, instance } ) => {
if ( ! instance?.raw ) {
// Can\'t transform if raw instance is not shown in REST API.
return false;
}
return idBase === \'my-custom-widget\';
},
transform: ( { instance } ) => {
const transformedBlock = createBlock(
\'my/custom-block\',
{
attribute1: instance.raw.attribute1,
attribute2: instance.raw.attribute2,
}
);
if ( ! instance.raw?.title ) {
return transformedBlock;
}
return [
createBlock( \'core/heading\', {
content: instance.raw.title,
} ),
transformedBlock,
];
},
},
]
},
PHP:
这是
__construct()
功能在我的旧小部件中。我添加了
show_instance_in_rest
arg,以便可以在REST API中看到小部件:
function __construct() {
$widget_ops = array(
\'classname\' => \'my-custom-widget\',
\'show_instance_in_rest\' => true
);
parent::__construct( \'my-custom-widget\', \'My Custom Widget\', $widget_ops );
}
但是,当我在WP 5.8 beta2的新窗口小部件编辑器中单击转换按钮时,没有将其转换为自定义块的选项,只有列和组块。
有什么想法吗?