函数文档

admin_color_scheme_picker()

💡 云策文档标注

概述

admin_color_scheme_picker() 函数用于在用户编辑页面显示默认的管理界面颜色方案选择器。它处理颜色方案的排序、默认值设置,并生成相应的 HTML 输出。

关键要点

  • 函数参数为必需的 $user_id,用于指定用户 ID。
  • 通过全局变量 $_wp_admin_css_colors 获取颜色方案,并确保 'fresh'、'light'、'modern' 优先排序。
  • 使用 get_user_option() 获取用户当前颜色方案,若无有效值则默认设为 'fresh'。
  • 输出包含单选按钮、颜色预览和名称的 HTML 表单元素,用于颜色方案选择。

代码示例

function admin_color_scheme_picker( $user_id ) {
    global $_wp_admin_css_colors;

    ksort( $_wp_admin_css_colors );

    if ( isset( $_wp_admin_css_colors['fresh'] ) ) {
        // Set Default ('fresh') and Light should go first.
        $_wp_admin_css_colors = array_filter(
            array_merge(
                array(
                    'fresh'  => '',
                    'light'  => '',
                    'modern' => '',
                ),
                $_wp_admin_css_colors
            )
        );
    }

    $current_color = get_user_option( 'admin_color', $user_id );

    if ( empty( $current_color ) || ! isset( $_wp_admin_css_colors[ $current_color ] ) ) {
        $current_color = 'fresh';
    }
    ?>
    <!-- HTML output for color scheme picker -->
    <?php
}

注意事项

  • 函数依赖于全局变量 $_wp_admin_css_colors,需确保其已正确初始化。
  • 颜色方案输出使用 esc_attr()、esc_url() 等函数进行转义,以确保安全性。
  • 自 WordPress 3.0.0 版本引入,无后续变更记录。

📄 原文内容

Displays the default administration color scheme picker (Used in user-edit.php).

Parameters

$user_idintrequired
User ID.

Source

function admin_color_scheme_picker( $user_id ) {
global $_wp_admin_css_colors;

ksort( $_wp_admin_css_colors );

if ( isset( $_wp_admin_css_colors['fresh'] ) ) {
// Set Default ('fresh') and Light should go first.
$_wp_admin_css_colors = array_filter(
array_merge(
array(
'fresh' => '',
'light' => '',
'modern' => '',
),
$_wp_admin_css_colors
)
);
}

$current_color = get_user_option( 'admin_color', $user_id );

if ( empty( $current_color ) || ! isset( $_wp_admin_css_colors[ $current_color ] ) ) {
$current_color = 'fresh';
}
?>
<fieldset id="color-picker" class="scheme-list">
<legend class="screen-reader-text"><span></span></legend>
$color_info ) :

?>
<div class="color-option <?php echo ( $color === $current_color ) ? 'selected' : ''; ?>">
<input name="admin_color" id="admin_color_<?php echo esc_attr( $color ); ?>" type="radio" value="<?php echo esc_attr( $color ); ?>" class="tog" <?php checked( $color, $current_color ); ?> />
<input type="hidden" class="css_url" value="<?php echo esc_url( $color_info->url ); ?>" />
<input type="hidden" class="icon_colors" value="<?php echo esc_attr( wp_json_encode( array( 'icons' => $color_info->icon_colors ) ) ); ?>" />
<label for="admin_color_<?php echo esc_attr( $color ); ?>">name ); ?></label>
<div class="color-palette">
colors as $html_color ) {
?>
<div class="color-palette-shade" style="background-color: <?php echo esc_attr( $html_color ); ?>"> </div>

</div>
</div>

</fieldset>
</pre><p class="wporg-dot-link-list"><a href="https://developer.wordpress.org/reference/files/wp-admin/includes/misc.php/">View all references</a> <a href="https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-admin/includes/misc.php#L999">View on Trac</a> <a href="https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-admin/includes/misc.php#L999-L1052">View on GitHub</a></p></section>

<section class="wp-block-wporg-code-reference-related" data-nosnippet="true"><h2 id="related" class="is-toc-heading wp-block-heading has-heading-5-font-size" tabindex="-1" ><a href="#related">Related</a></h2> <section style="margin-top:var(--wp--preset--spacing--20)" class="wp-block-wporg-code-table" id="uses"><figure class="wp-block-table "><table><thead><tr><th scope="col">Uses</th><th scope="col">Description</th></tr></thead><tbody><tr class=""><td><a href="https://developer.wordpress.org/reference/functions/checked/">checked()</a><code>wp-includes/general-template.php

Outputs the HTML checked attribute.

wp_nonce_field()wp-includes/functions.php

Retrieves or display nonce hidden field for forms.

get_user_option()wp-includes/user.php

Retrieves user option that can be either per Site or per Network.

wp_json_encode()wp-includes/functions.php

Encodes a variable into JSON, with some confidence checks.

_e()wp-includes/l10n.php

Displays translated text.

esc_attr()wp-includes/formatting.php

Escaping for HTML attributes.

esc_url()wp-includes/formatting.php

Checks and cleans a URL.

esc_html()wp-includes/formatting.php

Escaping for HTML blocks.

Show 5 moreShow less

Changelog

Version Description
3.0.0 Introduced.