WordPress/Gutenberg - 加载编辑器后打开面板

问题描述 投票:0回答:1

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

我使用

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个回答
2
投票

我用

window.onload
来完成这个:

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

};

在 WordPress 6.5 之前,必须调度的是

core/edit-post

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
晚,因为它仅在所有内容加载后执行。

© www.soinside.com 2019 - 2024. All rights reserved.