我正在尝试在编辑器加载后打开面板。有时有效,有时无效。
我使用
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' );
我用
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
晚,因为它仅在所有内容加载后执行。