从管理员配色方案中获取特定颜色

时间:2014-12-13 作者:isar

我知道如何打印current color scheme 通过使用:

echo get_user_option( \'admin_color\', get_current_user_id() );

echo get_user_meta(get_current_user_id(), \'admin_color\', true);
但我需要打印一张specific color of this scheme. 换句话说,我需要此函数的$colors数组:

<?php wp_admin_css_color( $key, $name, $url, $colors, $icons ); ?>
我必须在插件的设置页面中使用颜色,但我希望连贯一致。非常感谢任何解决方案!

1 个回复
最合适的回答,由SO网友:Sven 整理而成

颜色方案在中全局注册$_wp_admin_css_colors (参见wp-includes/general-template.php 供参考)。

您可以返回当前用户的颜色,具体取决于get_user_meta() 对于这样的特定设置页面:

global $pagenow;
if ( $pagenow == \'options-permalink.php\' ) :
  add_action( \'admin_notices\', \'get_current_user_admin_color\' );
  function get_current_user_admin_color() {
    global $_wp_admin_css_colors;
    $user_admin_color = get_user_meta(get_current_user_id(), \'admin_color\', true);

    echo \'<pre>\';
    var_dump($_wp_admin_css_colors[$user_admin_color]->colors);
    echo \'</pre>\';
  }
endif;
可以随意改变动作挂钩,以满足您的需要:也许admin_notices 是特定的,所以您也可以尝试admin_head.

此外$_wp_admin_css_colors[$user_admin_color] 正在保存有关当前管理配色方案的更多元数据:

  • [name] 当前管理配色方案的名称[url] 当前颜色方案CSS文件的绝对路径[colors] 当前管理配色方案的颜色[icon_colors] 当前管理员配色方案的图标颜色

结束

相关推荐