挂钩到REGISTER_ADMIN_COLOR_SCHEMS

时间:2016-11-03 作者:klewis

我正在使用WordPress 4.6.1,我们是否可以function register_admin_color_schemes() 位于wp-includes/general-template.php? 通过这种方式,我们可以将以下代码发送、连接或绑定到该函数:

wp_admin_css_color( \'ffa\', _x( \'My Custom Color Combo\', \'admin color scheme\' ),
        admin_url( "/my-plugin=directory/css/colors/my-custom-color-combo/colors$suffix.css" ),
        array( \'#ffffff\', \'#ffcd00\', \'#c7a589\', \'#9ea476\' ),
        array( \'base\' => \'#f3f2f1\', \'focus\' => \'#fff\', \'current\' => \'#fff\' )
    );
如果可能,我们如何动态地做到这一点?

仅供参考,我可以手动修改general-template.php 文件,但我每次更新WordPress时都必须这样做。

2 个回复
最合适的回答,由SO网友:Nabil Kadimi 整理而成

不,你不能that function since there is no do_action or apply_filters in it, 函数本身hooksadmin_init. 因此,如果您的目标是添加新的配色方案,那么您必须以相同的方式钩住代码,因此使用您的示例,所需的代码如下所示:

// Define the function that registers the color schemes.
function wpse244982_register_admin_color_schemes() {
    wp_admin_css_color( \'ffa\', _x( \'My Custom Color Combo\', \'admin color scheme\' ),
        admin_url( "/my-plugin=directory/css/colors/my-custom-color-combo/colors$suffix.css" ),
        array( \'#ffffff\', \'#ffcd00\', \'#c7a589\', \'#9ea476\' ),
        array( \'base\' => \'#f3f2f1\', \'focus\' => \'#fff\', \'current\' => \'#fff\' )
    );

    // Maybe more colors schemes here
    // wp_admin_css_color(...);
    // wp_admin_css_color(...);
}

// Hook it to admin_init as WordPress does
add_action( \'admin_init\', \'wpse244982_register_admin_color_schemes\');

SO网友:CodeMascot

据我所知,您需要一种方法来传递参数并添加多个配色方案,对吗?在这种情况下,可以多次调用该函数,也可以编写自己的函数,如下所示-

function the_dramatist_admin_css_color( $args ) {
    wp_admin_css_color( $args[\'key\'], $args[\'name\'], admin_url( $args[\'url\'] ), $args[\'color\'], $args[\'last_el\'] );
}
通过下面的参数调用它-

$args = array(
    \'key\'       => \'ffa\',
    \'name\'      => _x( \'My Custom Color Combo\', \'admin color scheme\' ),
    \'url\'       => \'/my-plugin=directory/css/colors/my-custom-color-combo/colors.css\',
    \'color\'     => array( \'#ffffff\', \'#ffcd00\', \'#c7a589\', \'#9ea476\' ),
    \'last_el\'   => array( \'base\' => \'#f3f2f1\', \'focus\' => \'#fff\', \'current\' => \'#fff\' )

);

// Then call the function
the_dramatist_admin_css_color($args);
希望这有帮助。

相关推荐

对用户wp-admin中的新列进行排序

我在用户管理选项卡中创建了一个新列,名为;列表;。每一行都是一个数字,表示用户有多少个列表。//// ADD THE NEW COLUMN add_filter( \'manage_users_columns\', \'add_listing_count_column\' ); function add_listing_count_column( $columns ) { $columns[\'Listings\'] = \'Listings\'; //