我试图修改古腾堡的图库块,并使用以下代码片段
export function defaultColumnsNumber( attributes ) {
console.log(attributes.images.length)
return Math.min( 3, attributes.images.length );
}
function modifyGalleryMarkup( element, blockType, attributes ) {
if ( blockType.name !== \'core/gallery\' ) {
return element;
}
const { images, columns = defaultColumnsNumber( attributes ), imageCrop, linkTo } = attributes;
console.log(attributes)
var newElement = wp.element.createElement(
\'ul\',
{
\'className\': `lightbox columns-${ columns } ${ imageCrop ? \'is-cropped\' : \'\' }`,
},
attributes.images.map(
function( image ) {
return wp.element.createElement(
\'li\',
{
\'className\': \'blocks-gallery-item my-gallery-item\',
},
wp.element.createElement(
\'img\',
{
\'src\': image.url,
}
)
)
}
)
)
return newElement
}
wp.hooks.addFilter(
\'blocks.getSaveElement\',
\'plugin/modify-gallery\',
modifyGalleryMarkup
);
我可以保存它,但在重新加载页面时,控制台中出现以下错误
Block validation failed for `core/gallery`
Expected:
<ul class="lightbox columns-0 is-cropped"></ul>
Actual:
<ul class="lightbox columns-3 is-cropped">< ....
我的代码片段中缺少了什么?