WP 3.8 Tüm Kullanıcılar İçin Varsayılan Yönetici Rengi


10

3.8 için yeni renk şemasına şaşırdım ve klasik 3.7 teması gitmiş olsa da, yeni "Işık" renk şemasını tüm kullanıcılar için varsayılan olarak ayarlamak istiyorum, ancak aynı zamanda hala Kullanıcı profillerinde isterlerse tema.

Herkes tüm kullanıcılar için varsayılan ayarlamak için bir işlev bulmayı başardı? Ben aradım ama bu kadar yeni bir şey bulamıyorum, 3.8 kodeks tam olarak yazılmamış.

Yanıtlar:


14

Şunun içinde varsayılan bir renk (kuvvet açısından) ayarlayabilirsiniz 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;
}

Güncelleme: WP 3.8'de aşağıdaki renk şemaları varsayılan olarak kullanılabilir

  • taze
  • ışık
  • mavi
  • Kahve
  • ektoplazma
  • gece yarısı
  • okyanus
  • gündoğumu

Bonus ( wpmudev'de bulunur ): Kullanıcıların başka bir renge geri dönememelerini sağlamak için Yönetici Renk Düzeni Seçeneklerini devre dışı bırakın:

remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

Güncelleme 2: Rarst'ın işaret ettiği gibi, yukarıdaki filtre değiştirilebilir bir varsayılan ayar yapmak yerine belirli bir renk düzenini zorlar . Bunun çözümü, bir eylemi yalnızca bir kez çalıştırmaktır (örn. Kullanıcı kurulumu / kaydı), bundan sonra kullanıcı kendi rengine karar verebilir ve değiştirebilir:

add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {

       update_user_meta($user_id, 'admin_color', 'light');

}

Güncelleme 3: Tamam, bir tane daha deneyin :)

Fikir, custom_admin_color_schemekullanıcı profili güncellediği anda ek kullanıcı meta verileri (bkz. ) Eklemektir; alan olarak ayarlanmadığı sürece true, varsayılan yönetici renk şemasını bizim tercih ettiğimiz bir renk şemasına değiştireceğiz:

// 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');

}

Güncelleme 4: Son olarak wordpress.org'da varsayılan yönetici renk düzenlerini kolayca işlemek için çok güzel bir eklenti var: Varsayılan Yönetici Renk Düzeni


2
Değil bu Will kuvvet belirli şeması ziyade set değişim-muktedir varsayılan?
Rarst

@Rarst İyi bir nokta! Cevabımı güncelledim ve yalnızca kurulumdaki rengi değiştirmek için bir eylem ekledim; bundan sonra kullanıcıya kalmış :)
Sven

Aslında - bu zaten kayıtlı kullanıcılar için çok yararlı değil. Aslında onları bir sonraki girişte bir seçim yapmaya zorlamanın bir yolu olduğunu sanmıyorum (sanırım bir sürü iş olurdu).
Sol

@Sol Sadece bir ayar olup olmadığını ve bunun 3.8'den önceden tanımlanmış renk şemalarından biri olup olmadığını kontrol edin. Şimdi ise, onları profillerine yönlendirin exit( wp_redirect( admin_url( 'profile.php' ) ) );(emin değilsiniz profile.php) ve admin_noticedeğiştirmeleri gereken bir tane ekleyin . Bu şekilde yapılır, bu ayar yapılana kadar yönlendirme gerçekleşecek şekilde zorlanırlar :)
kaiser

Merhaba Kaiser, mükemmel sesler örnek bir kod verebiliyor musunuz?
Sol
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.