回答:
次の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にあります):ユーザーが別の色に切り替えられないように、管理カラースキームオプションを無効にします。
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
更新2:Rarstが指摘したように、上記のフィルターは、変更可能なデフォルトを設定する代わりに、特定の配色を強制します。これに対する解決策は、アクションを1回だけ(たとえば、ユーザーのセットアップ/登録時に)実行して、その後ユーザーが自分で色を決定して変更できるようにすることです。
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
ていない限り、デフォルトの管理カラースキームを選択したカラースキームに変更します。
// 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には、デフォルトの管理カラースキームを簡単に処理するための非常に優れたプラグインもあります。デフォルトの管理カラースキーム
exit( wp_redirect( admin_url( 'profile.php' ) ) );
(わからないprofile.php
)ユーザーをプロフィールにリダイレクトし、admin_notice
変更する必要があるものを追加します。このように行われると、この設定が完了するまでリダイレクトが発生するため、強制されます:)