我正在关注官方的WordPress;创建块教程“;位于此处:https://developer.wordpress.org/block-editor/handbook/tutorials/create-block/
我将此作为插件的起点:npx @wordpress/create-block
我将它与本地by Fleel一起用于我的开发环境。除了我尝试在块的CSS中包含其他文件(如自定义字体文件或图像)外,大部分内容似乎都正常工作。这是本教程的一部分:https://developer.wordpress.org/block-editor/handbook/tutorials/create-block/block-code/
示例:
@font-face {
font-family: Gilbert;
src: url(./Gilbert-color.otf);
font-weight: bold;
}
.wp-block-create-block-tdblocks {
font-family: Gilbert;
font-size: 64px;
font-weight: bold;
background-image: url(./map_bg.png);
background-repeat: repeat;
}
因此,在插入建议的代码并运行
npm run build
, 构建过程生成的css文件会留下相对于当前网页URL的指向这些文件的链接,而不是指向相应插件文件夹中文件位置的链接。
下面是它给我的图像文件示例(自然显示为404错误):
https://taylor-design-starter-theme.local/sample-page/images/map_bg.f0104819.png
我希望它能给我这个:
https://taylor-design-starter-theme.local/wp-content/plugins/tdblocks/build/images/map_bg.f0104819.png
我已尝试调整;url(&Q);值,以查看这是否有帮助。喜欢
src: url(../map_bg.png);
或
src: url(map_bg.png);
但这似乎没有任何作用。
我错过什么了吗?或者有没有办法让它使用插件目录?
非常感谢。
编辑:这是我运行构建过程时生成的CSSnpm run build
@font-face{font-family:Gilbert;font-weight:700;src:url(fonts/Gilbert-color.02d3d364.otf)}.wp-block-create-block-tdblocks{background-image:url(images/map_bg.f0104819.png);background-repeat:repeat;font-family:sans-serif;font-size:64px;font-weight:700}
最合适的回答,由SO网友:Tom J Nowell 整理而成
WordPress将该样式内联为优化:
呈现页面时,选择内联的样式表将添加到数组中。使用filesize调用检索它们的大小(这就是为什么需要路径数据),然后按大小升序排列数组(从小到大的样式表)。然后,我们开始从最小到最大内联这些资产,直到达到20kb的限制。
https://make.wordpress.org/core/2021/07/01/block-styles-loading-enhancements-in-wordpress-5-8/
您有多种选择:
将此作为Trac的一个bug提出,使样式表更大或在其他地方添加其他内联并达到20kb限制的样式表,禁用样式内联
add_filter( \'styles_inline_size_limit\', \'__return_zero\' );
无论你做什么,
you should still raise a bug ticket on WP core. 特别是关于具有相对URL的内联样式。
我也会在Gutenberg Github上提出一个bugblock.json
记录,因为最好有一种使用方法block.json
以及选择加入或退出,如果不编写PHP过滤器,这似乎是不可能的。如果你不提出这个问题,很可能没有人会意识到这个问题,这样的事情会更多。