You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress Gutenberg中默认开启标题/段落块的加粗功能?

实现Gutenberg标题/段落块默认启用加粗功能

可以实现该需求,通过自定义脚本结合WordPress块编辑器API,就能在添加标题或段落块时自动激活加粗格式,输入的文本会自动被<strong>标签包裹。

实现步骤:

1. 在主题中注册自定义脚本

将以下代码添加到当前主题的functions.php文件中,用于加载自定义脚本:

function enqueue_gutenberg_default_bold_script() {
    wp_enqueue_script(
        'gutenberg-default-bold',
        get_stylesheet_directory_uri() . '/js/gutenberg-default-bold.js',
        array( 'wp-blocks', 'wp-editor', 'wp-data', 'wp-dom-ready', 'wp-rich-text' ),
        wp_get_theme()->get('Version'),
        true
    );
}
add_action( 'enqueue_block_editor_assets', 'enqueue_gutenberg_default_bold_script' );

2. 创建自定义JavaScript文件

在主题目录下新建js文件夹,创建gutenberg-default-bold.js文件并写入以下代码:

wp.domReady( function() {
    // 监听编辑器状态变化,处理块选中事件
    wp.data.subscribe( function() {
        const selectedBlock = wp.data.select( 'core/editor' ).getSelectedBlock();
        
        if ( !selectedBlock ) return;
        
        const targetBlocks = [ 'core/paragraph', 'core/heading' ];
        // 仅处理目标块类型,避免重复初始化
        if ( targetBlocks.includes( selectedBlock.name ) && !selectedBlock.attributes._boldInitialized ) {
            // 标记块已完成加粗初始化
            wp.data.dispatch( 'core/editor' ).updateBlockAttributes( selectedBlock.clientId, {
                _boldInitialized: true
            } );
            
            // 延迟执行确保编辑器DOM就绪
            setTimeout( () => {
                const editorEl = document.querySelector( `.block-editor-block-list__block[data-block="${selectedBlock.clientId}"] .rich-text` );
                if ( !editorEl ) return;
                
                // 聚焦编辑器并激活加粗格式
                editorEl.focus();
                const selection = window.getSelection();
                const range = document.createRange();
                range.selectNodeContents( editorEl );
                range.collapse( true );
                selection.removeAllRanges();
                selection.addRange( range );
                
                // 给空选区应用加粗格式,确保输入时自动生效
                wp.richText.toggleFormat( selection, { type: 'core/bold' } );
            }, 100 );
        }
    } );
} );

代码说明:

  • 借助wp.data.subscribe监听编辑器状态,捕获块选中的事件
  • 用_boldInitialized自定义属性标记块已完成初始化,避免重复执行逻辑
  • 延迟操作确保块的DOM元素渲染完成,随后聚焦编辑器并激活加粗格式,此时输入的文本会自动被<strong>标签包裹

内容的提问来源于stack exchange,提问作者randyk69

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:05:07