在 Javascsipt 中检索主题颜色数组

tob*_*gli 5 wordpress color-palette wordpress-gutenberg

我正在寻找一种方法来检索您可以使用 add_theme_support('editor-color-palette', [...]); 在主题中设置的颜色对象数组;

不知何故,我在文档中找不到关于如何在自定义块中检索主题颜色的任何信息。

<ColorPalette
    onChange={ value => onChange(index, 'color', value) }
/>
Run Code Online (Sandbox Code Playgroud)

我需要 onChange 回调中的颜色数组将十六进制颜色转换为我在 php 中使用函数 getColorObjectByColorValue(themeColorsArray, callbackValueHexColor) 设置的 slug 颜色名称

非常感谢你的帮助!

编辑: 找到解决方案。wp.​​core 中有一个名为 select 的函数。使用此功能,您可以检索编辑器核心对象。要获得颜色,请执行以下操作:

wp.data.select( "core/editor" ).getEditorSettings().colors
Run Code Online (Sandbox Code Playgroud)

Sja*_*ish 5

仅供未来的读者使用,感谢您的回答@tobiasegli

 <ColorPalette
    colors={wp.data.select( "core/editor" ).getEditorSettings().colors }
    label={'bg color'}
    value={ color }
    onChange={ ( color ) => setState( { color } ) }
    />
Run Code Online (Sandbox Code Playgroud)