在Javascript中检索主题颜色数组

Posted

技术标签:

【中文标题】在Javascript中检索主题颜色数组【英文标题】:Retrieve theme colors array inside Javascsipt 【发布时间】:2019-08-23 12:52:59 【问题描述】:

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

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

<ColorPalette
    onChange= value => onChange(index, 'color', value) 
/>

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

非常感谢您的帮助!

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

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

【问题讨论】:

【参考方案1】:

仅供未来的读者参考,感谢@tobiasegli 的回答

 <ColorPalette
    colors=wp.data.select( "core/editor" ).getEditorSettings().colors 
    label='bg color'
    value= color 
    onChange= ( color ) => setState(  color  ) 
    />

【讨论】:

以上是关于在Javascript中检索主题颜色数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TypeScript / JavaScript 中使用角度材质主题颜色?

React-Native (expo) 检索初始主题(或任何初始化值)

网页颜色检索适用于 jQuery,但不适用于 javascript

Visual Studio 2017 中用于 JavaScript 和 TypeScript 文件的 Visual Studio Code 颜色主题

在java中改变主题不会改变背景颜色

如何使用 SwiftUI 在 macOS 上可靠地检索窗口的背景颜色?