函数文档

wp_color_scheme_settings()

💡 云策文档标注

概述

wp_color_scheme_settings() 函数用于获取并输出当前用户的 WordPress 后台颜色方案设置,特别是图标颜色。它处理颜色方案未注册时的回退逻辑,确保返回有效的图标颜色数组。

关键要点

  • 函数通过 get_user_option('admin_color') 获取用户设置的颜色方案。
  • 如果颜色方案未在 $_wp_admin_css_colors 中注册,则默认回退到 'fresh' 方案。
  • 优先从当前颜色方案获取 icon_colors,否则从 'fresh' 方案获取,最后使用默认颜色数组作为回退。
  • 函数输出图标颜色数组,用于后台界面样式。

📄 原文内容

Source

function wp_color_scheme_settings() {
	global $_wp_admin_css_colors;

	$color_scheme = get_user_option( 'admin_color' );

	// It's possible to have a color scheme set that is no longer registered.
	if ( empty( $_wp_admin_css_colors[ $color_scheme ] ) ) {
		$color_scheme = 'fresh';
	}

	if ( ! empty( $_wp_admin_css_colors[ $color_scheme ]->icon_colors ) ) {
		$icon_colors = $_wp_admin_css_colors[ $color_scheme ]->icon_colors;
	} elseif ( ! empty( $_wp_admin_css_colors['fresh']->icon_colors ) ) {
		$icon_colors = $_wp_admin_css_colors['fresh']->icon_colors;
	} else {
		// Fall back to the default set of icon colors if the default scheme is missing.
		$icon_colors = array(
			'base'    => '#a7aaad',
			'focus'   => '#72aee6',
			'current' => '#fff',
		);
	}

	echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ), JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ) . ";</script>n";
}

Changelog

Version Description
3.8.0 Introduced.