我在这个 gutenberg github issue的帮助下找到了一个解决方案。简单的答案是,wordpress (php)使用wp_make_content_images_responsivewp-image-<id>
函数转换所有具有自动响应类名称的图像。
也就是说,您需要做的就是将上述类名添加到save
函数中的图像中。
应用于您提到的示例,它将类似于以下内容:
save: function( props ) {
var attributes = props.attributes;
var alignment = props.attributes.alignment;
var imageClass = 'wp-image-' + props.attributes.mediaId;
return (
el( 'div', { className: props.className },
attributes.mediaURL &&
el( 'div', { className: 'nelio-testimonial-image', style: { backgroundImage: 'url('+attributes.mediaURL+')' } },
el( 'img', { src: attributes.mediaURL, class: imageClass } ),
),
el( 'div', { className: 'nelio-testimonial-content', style: { textAlign: attributes.alignment } },
attributes.testimonial && el( 'p', {}, attributes.testimonial ),
el( 'p', { className: 'nelio-testimonial-name' }, attributes.name ),
attributes.position && el( 'p', { className: 'nelio-testimonial-position' }, attributes.position )
)
)
);
},