【问题标题】:WordPress/Gutenberg - Open panels after editor is loadedWordPress/Gutenberg - 加载编辑器后打开面板
【发布时间】:2026-01-15 20:10:02
【问题描述】:

我正在尝试在编辑器加载后打开面板。有时有效,有时无效。

我使用domReady 函数等待我的页面完全加载。

domReady函数不是应该等待整个页面加载吗?

我在插件中编写了代码。

在 index.js 中:

wp.domReady(() => {
    wp.data.dispatch( 'core/edit-post' ).toggleEditorPanelOpened( 'featured-image' );
    wp.data.dispatch( 'core/edit-post' ).toggleEditorPanelOpened( 'taxonomy-panel-keywords' );
    wp.data.dispatch( 'core/edit-post' ).toggleEditorPanelOpened( 'taxonomy-panel-teachers' );
});

在我的 PHP 文件中,我使用 wp-editor 将我的脚本排入队列。

function ccn_load_editor_script() {
    wp_enqueue_script( 'wp-ccn-gutenberg-editor', plugins_url('ccn-gutenberg-editor/build/index.js'), array( 'wp-data', 'wp-blocks', 'wp-element', 'wp-editor' ), wp_rand(), true);
}

add_action( 'enqueue_block_editor_assets', 'ccn_load_editor_script' );

【问题讨论】:

    标签: wordpress wordpress-gutenberg


    【解决方案1】:

    我使用window.onload 来完成此操作:

    window.onload = function() {
        wp.data.dispatch( 'core/edit-post' ).toggleEditorPanelOpened( 'featured-image' );
        wp.data.dispatch( 'core/edit-post' ).toggleEditorPanelOpened( 'taxonomy-panel-keywords' );
        wp.data.dispatch( 'core/edit-post' ).toggleEditorPanelOpened( 'taxonomy-panel-teachers' );
    
    };
    

    onload 晚于domReady,因为它仅在所有内容加载后才会执行。

    【讨论】: