在没有 CSS 的情况下隐藏特定的管理配色方案选项?

Hide specific admin color scheme options without CSS?

一位客户要求只允许用户在三种公司品牌的管理配色方案和 none 默认方案之间进行选择。我知道我可以从菜单中隐藏整个选择器并强制使用默认的自定义方案,但是我可以只删除 WordPress 选项并保留我的自定义选项 而不使用 CSS?

我能够使用 this tutorial 使其工作。

例如,此函数会删除除默认(“新鲜”)、“午夜”和您添加的任何自定义方案之外的所有其他配色方案选项:

function my_limit_admin_color_options()
{
    global $_wp_admin_css_colors;

    /* Get color data */
    $fresh_color_data = $_wp_admin_css_colors['fresh'];
    $midnight_color_data = $_wp_admin_css_colors['midnight'];

    /*  color scheme options */
    $_wp_admin_css_colors = array(
        'fresh' => $fresh_color_data,
        'midnight' => $midnight_color_data
    );
}
add_action('admin_init', 'my_limit_admin_color_options', 1);

如果您删除了“新鲜”选项,请务必强制使用默认主题,否则如果用户将其更改为其他主题,并且无法将其改回原样,用户可能会感到沮丧。

如果您删除除一个以外的所有选项,管理配色方案选择器将从选项页面中删除。