我的想法是为下载卡模板编写自己的块
我将我的主题(也可以在单个插件中)配置为向古腾堡编辑器添加一个新块。
我只是把我的save函数放在这里。因为这就是它的意义所在。它应该是一个带有图像、标题、文本和文件下载链接的下载卡。一切正常:
save: ( props ) => {
const {
className,
attributes: {
title,
mediaID,
mediaURL,
mediaAlt,
textContent,
fileID,
fileURL,
fileType,
fileDesc,
fileSize,
},
} = props;
return (
<div className={ className }>
<div className="bl-dc__image">
{
mediaURL && (
<img className="image" src={ mediaURL } alt={ mediaAlt ? mediaAlt : __( \'Download Image\') } />
)
}
</div>
<div className="bl-dc__content">
<h2 className="bl-dc__title">
{title}
</h2>
<p className="bl-dc__text">
{ textContent }
</p>
{
fileURL && (
<a
className="bl-dc__bt btn btn--primary"
href={ fileURL } title={ __( \'Download\') + (fileDesc && \' \'+fileDesc) + (fileSize && \' \'+fileSize) }
>
{ __( \'Download\') + (fileType && \' (\'+fileType+\')\') }
</a>
)
}
</div>
</div>
);
}
所以当我去换一门课的时候。像buttons类
bl-dc__bt
到
bl-dc__btn
. 我确实收到一个验证错误。我需要提及字段是否已填充!在这种情况下,文件上载。
这是预期的行为吗?我的块在编辑器中分解,甚至字段和所有backendish的名称都是一样的。开发块很快就会令人沮丧,因为如果我想在继续工作的同时尝试或扩展标记,我必须在编辑器中反复设置和填充块。如果我的客户说:“嘿,你能在那里添加一个图标字段吗?”这是不可能的?
我在github中找到了关于该主题的讨论:https://github.com/WordPress/gutenberg/issues/4849
还有一些有关已弃用块的信息:https://wordpress.org/gutenberg/handbook/block-api/deprecated-blocks/
我就是想不出来。
作为开发人员,如果字段被填充,我是否能够在不破坏编辑功能的情况下更改块的模板?