WordPress Gutenberg默认段落模板能否替换为自定义块或模板?
解决Gutenberg新建页面默认段落替换问题
完全可以替换掉这个默认段落,下面给你两种实用方法:
方法一:自定义页面模板(推荐针对特定页面类型)
在主题的functions.php里添加代码,注册自定义页面模板,指定初始块为你的自定义块:
function register_custom_page_template() { $page_post_type = get_post_type_object( 'page' ); // 定义模板的初始块 $page_post_type->template = array( array( 'your-custom-block/block-name', array( 'content' => '自定义初始内容', // 这里可以添加自定义块的其他属性 ) ), // 还可以添加其他默认块,比如标题块 // array( 'core/heading', array( 'level' => 1, 'content' => '页面标题' ) ) ); // 可选:锁定模板,禁止用户删除默认块(根据需求选择) // $page_post_type->template_lock = 'all'; } add_action( 'init', 'register_custom_page_template' );
把your-custom-block/block-name替换成你自定义块的实际名称(比如my-plugin/hero-section),这样新建页面时就会自动插入你的自定义块,而非默认段落。
方法二:全局替换默认初始块
如果想让所有新建的文章、页面都用自定义块代替默认段落,用JavaScript钩子修改:
在主题或插件的编辑器JS文件中添加以下代码(记得把JS文件正确 enqueue 到Gutenberg编辑器):
wp.domReady( () => { wp.hooks.addFilter( 'editor.insertDefaultBlock', 'your-namespace/replace-default-block', () => { return { name: 'your-custom-block/block-name', attributes: { content: '自定义初始内容' } }; } ); } );
这个过滤器会覆盖编辑器默认的初始块逻辑,直接插入你的自定义块。
补充:Gutenberg默认插入空段落是为了让用户能直接开始输入,但通过上面的方法完全可以根据需求替换成自定义块或模板。
内容的提问来源于stack exchange,提问作者fridolin
相关产品推荐
相关产品推荐

