这两个答案都很有帮助。朱利安的回答抓住了所有的配色方案。tfrommen的答案找到当前启用的答案。如果我们将这两者结合起来,我们可以更进一步并实际使用它。
下面是一个获取当前颜色方案并动态插入样式表的示例,其中CSS变量对应于每种颜色:
class MyTheme
{
static $ADMINCOLS = [];
static function ImprintCols()
{
add_action(\'admin_head\', function()
{
global $_wp_admin_css_colors;
if(!$_wp_admin_css_colors) return;
$color = get_user_meta(get_current_user_id(), \'admin_color\', true);
if(key_exists($color,$_wp_admin_css_colors))
self::$ADMINCOLS = $_wp_admin_css_colors[$color];
});
add_action(\'admin_footer\', function()
{
if(!self::$ADMINCOLS) return;
$vars = [\'\'];
foreach(self::$ADMINCOLS->colors as $key=>$col)
$vars[] = "\\t--wp-admin-color-$key: $col;";
if(isset(self::$ADMINCOLS->icon_colors))
foreach(self::$ADMINCOLS->icon_colors as $key=>$col)
$vars[] = "\\t--wp-admin-color-icon-$key: $col;";
$vars[] = \'\';
$styles = ":root {".join(PHP_EOL,$vars)."\\t}";
echo \'<style id="wp-admin-cols">\'.PHP_EOL.$styles.PHP_EOL.\'</style>\'.PHP_EOL;
});
}
MyTheme::ImprintCols();
这将创建一个样式表声明,如下所示(这里我使用的是Deletable Extoplasm配色方案):
<style id="wp-admin-cols">
:root {
--wp-admin-color-0: #413256;
--wp-admin-color-1: #523f6d;
--wp-admin-color-2: #a3b745;
--wp-admin-color-3: #d46f15;
--wp-admin-color-icon-base: #ece6f6;
--wp-admin-color-icon-focus: #fff;
--wp-admin-color-icon-current: #fff;
}
</style>
然后,任何基于管理的样式表都可以使用这些CSS变量,如下所示:
h1 { border-bottom: 2px solid var(--wp-admin-color-0); }