首页 > 解决方案 > 在 Javascript 中更新 Gutenberg 全局调色板

问题描述

我有一个用例,我们需要在使用 javascript 加载页面后更新 Gutenberg 全局调色板。我知道add_theme_support('editor-color-palette', ...)PHP 选项,但在这种情况下不起作用。

似乎应该可以使用以下命令调度一个动作:

wp.data.dispatch( 'core/editor' ).updateEditorSettings( {colors: [{name: 'test', slug: 'test', color: '#00FF00'}]} );

这可以更新编辑器设置,可以使用以下命令进行确认:

wp.data.select( "core/editor" ).getEditorSettings()

但是,UI 不会重新渲染以显示更新的调色板选项。

有没有办法使用更新的编辑器设置触发块重新渲染?

标签: wordpresswordpress-gutenberg

解决方案


根据 Github 上的这个问题,它现在被称为updateSettings.

wp.data.dispatch('core/block-editor').updateSettings({
  colors: [{name: 'test', slug: 'test', color: '#00FF00'}]
})

https://github.com/WordPress/gutenberg/issues/15993


推荐阅读