3.8の新しい配色には驚きました。3.7のテーマは廃止されましたが、新しい "Light"配色をすべてのユーザーのデフォルトとして設定したいと思いますが、同時にそれらを変更することもできます。彼らが望むなら彼らのユーザープロファイルのテーマ。
すべてのユーザーにデフォルトを設定する機能を思いついた人はいますか?私は検索しましたが、これは新しいので、3.8 codexが完全に書かれていないので何も見つけることができません。
functions.php
内でデフォルトの色を(強制的に)設定することができます。
add_filter( 'get_user_option_admin_color', 'update_user_option_admin_color', 5 );
function update_user_option_admin_color( $color_scheme ) {
$color_scheme = 'light';
return $color_scheme;
}
更新:デフォルトでは以下の配色がWP 3.8にあります。
ボーナス( wpmudev にあります):ユーザーが他の色に切り替えられないようにするためにAdmin Color Scheme Optionsを無効にします。
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
更新2:Rarstが指摘したように、上記のフィルタは変更可能なデフォルトを設定する代わりに force 特定の配色を使用します。これに対する解決策は、一度だけアクションを実行することで(例えば、ユーザーのセットアップ/登録)、ユーザーは自分で色を決めて変更することができます。
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {
update_user_meta($user_id, 'admin_color', 'light');
}
更新3:さて、もう一度試してみてください:)
そのアイデアは、ユーザーがプロファイルを更新したらすぐに追加のユーザーメタデータ(custom_admin_color_scheme
を参照)を追加することです。このフィールドがtrue
に設定されていない限り、デフォルトのadmin配色を好みの配色に変更します。
// add custom user meta data
add_action('personal_options_update', 'save_custom_admin_color_optios');
function save_custom_admin_color_optios( $user_id ) {
update_user_meta($user_id, 'custom_admin_color_scheme', true);
}
// change default color scheme if not customized
$customized_color_scheme = get_user_option( 'custom_admin_color_scheme', get_current_user_id() );
if ( empty($customized_color_scheme) ) {
update_user_meta(get_current_user_id(), 'admin_color', 'light');
}
更新4:最後に、簡単にデフォルトの管理カラースキームを簡単に処理するためのwordpress.org上の非常に素晴らしいプラグインもあります。 デフォルトの管理カラースキーム