wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren



_wp_get_color_scheme_menu_icon_styles › WordPress Function

Seit7.2.0
Veraltetn/v
› _wp_get_color_scheme_menu_icon_styles ( $color_scheme )
Zugriff:
  • private
Parameter:
  • (string) $color_scheme The name of the color scheme.
    Erforderlich: Ja
Gibt zurück:
  • (string) The CSS, or an empty string if the scheme needs none.
Definiert in:
Codex:

Returns the CSS that colors inline SVG admin menu icons with the icon colors of an admin color scheme.

A scheme without icon colors gets CSS that makes the icons follow the text color of the menu links instead. The color scheme picker also passes it to user-profile.js, which applies it when another scheme is selected.


Quellcode

function _wp_get_color_scheme_menu_icon_styles( $color_scheme ) {
	global $_wp_admin_css_colors;

	if ( empty( $_wp_admin_css_colors[ $color_scheme ] ) ) {
		return '';
	}

	// The core schemes have no stylesheet of their own, or one from the core colors directory.
	$url = $_wp_admin_css_colors[ $color_scheme ]->url;
	if ( ! is_string( $url ) || '' === $url || str_starts_with( $url, admin_url( 'css/colors/' ) ) ) {
		return '';
	}

	$base_selector    = '#adminmenu div.wp-menu-image';
	$focus_selector   = '#adminmenu li:hover div.wp-menu-image,#adminmenu li a:focus div.wp-menu-image,#adminmenu li.opensub div.wp-menu-image';
	$current_selector = '#adminmenu li.wp-has-current-submenu div.wp-menu-image,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image,#adminmenu a.current:hover div.wp-menu-image,#adminmenu li.current div.wp-menu-image,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image';

	$icon_colors = array_map( 'sanitize_hex_color', wp_parse_args( (array) $_wp_admin_css_colors[ $color_scheme ]->icon_colors, array_fill_keys( array( 'base', 'focus', 'current' ), '' ) ) );

	// Without icon colors, the icons follow the text color that the scheme gives to the menu links.
	if ( ! $icon_colors['base'] || ! $icon_colors['focus'] || ! $icon_colors['current'] ) {
		return "$base_selector,$focus_selector,$current_selector{color:inherit}";
	}

	return "$base_selector{color:{$icon_colors['base']}}" .
		"$focus_selector{color:{$icon_colors['focus']}}" .
		"$current_selector{color:{$icon_colors['current']}}";
}