Gutenberg自定义块中InnerBlock.Content前端不渲染保存问题求助
解决自定义区块中InnerBlocks前端不显示的问题
确保save函数正确返回InnerBlocks内容
自定义区块的save函数负责生成静态HTML并保存到数据库,必须在其中正确返回<InnerBlocks.Content />,子区块的内容才会被持久化并在前端渲染。示例代码如下:import { InnerBlocks } from '@wordpress/block-editor'; export default { // 区块基础配置(name、title、icon等) edit: (props) => { return ( <div className={props.className}> <InnerBlocks allowedBlocks={['core/social-links']} /> </div> ); }, save: (props) => { return ( <div className={props.className}> <InnerBlocks.Content /> </div> ); }, };验证子区块数据是否被正确保存
在编辑器右上角切换到「代码编辑器」模式,检查author-bio区块的JSON结构中是否包含core/social-links的子区块数据。如果没有,说明save函数存在错误,导致子区块内容未被写入数据库。加载社交图标区块的前端样式
若数据已保存但图标仍不显示,可能是因为core/social-links的默认样式未在前端加载。可在主题的functions.php中添加以下代码手动加载样式:add_action( 'wp_enqueue_scripts', function() { wp_enqueue_style( 'wp-block-social-links' ); } );
内容的提问来源于stack exchange,提问作者osama B.
相关产品推荐
相关产品推荐

