我的目标是dynamic 古腾堡街区开始工作。为了找出我的错误所在,我将其还原为static 阻止以检查属性是否正确保存,并且工作正常。我还注释了php方面的内容,这样就不会影响任何东西。
测试的第二步:通过从save函数返回null,将块变为动态块。我的目标只是看看编辑器是否存储了属性,我还不关心前端。结果:It doesn\'t 我不知道为什么不。
文件上写着:“;对于许多动态块,save回调函数应返回为null,这告诉编辑器仅将块属性保存到数据库“参考资料”;那么它应该拯救他们?我不明白。
这是静态代码working perfectly:
registerBlockType( \'slp/signup\', {
title: __( \'Sign Up\' ),
icon: \'email\',
category: \'layout\',
keywords: [
__( \'sign up\' ),
__( \'form\' )
],
attributes: {
title: {
type: \'array\',
source: \'children\',
selector: \'h2\',
},
},
edit( props ) {
function setTitle( content ) {
props.setAttributes( { title: content } );
}
return (
<RichText
tagName="h2"
value={ props.attributes.title }
formattingControls={ [ \'bold\', \'italic\' ] }
onChange={ setTitle }
placeholder={ __( \'Heading...\' ) }
/>
);
},
save( props ) {
return <h2>{props.attributes.title}</h2>;
}
} );
以下是我为使其动态化所做的唯一更改:
save( props ) {
return null;
}
此时没有存储任何属性,当我更新编辑器时,所有内容都是空的。(当我尝试用php输出它时,它会返回一个空数组。)