WP 3.8 डिफ़ॉल्ट व्यवस्थापक रंग सभी उपयोगकर्ताओं के लिए


10

मैं 3.8 के लिए नई रंग योजना से आश्चर्यचकित हूं और यद्यपि क्लासिक 3.7 विषय चला गया है, मैं सभी उपयोगकर्ताओं के लिए नई "लाइट" रंग योजना को डिफ़ॉल्ट के रूप में सेट करना चाहूंगा, लेकिन साथ ही, अभी भी उन्हें बदलने की अनुमति देता हूं विषय यदि वे चाहें, तो अपने उपयोगकर्ता प्रोफ़ाइल में।

क्या सभी उपयोगकर्ताओं के लिए डिफ़ॉल्ट सेट करने के लिए कोई फ़ंक्शन के साथ आने में कामयाब रहा है? मैंने खोज की है, लेकिन कुछ भी नहीं मिल रहा है क्योंकि यह बहुत नया है, 3.8 कोडेक्स पूरी तरह से नहीं लिखा गया है।

जवाबों:


14

आप 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 पर उपलब्ध हैं

  • ताज़ा
  • रोशनी
  • नीला
  • कॉफ़ी
  • ectoplasm
  • आधी रात
  • सागर
  • सूर्योदय

बोनस ( wpmudev पर पाया गया ): यह सुनिश्चित करने के लिए व्यवस्थापक रंग योजना विकल्प अक्षम करें कि उपयोगकर्ता किसी अन्य रंग में वापस स्विच नहीं कर सकते:

remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

अद्यतन 2: जैसा कि रार्स्ट ने कहा था कि ऊपर दिया गया फ़िल्टर एक विशिष्ट डिफ़ॉल्ट को सेट करने के बजाय एक विशिष्ट रंग योजना को बाध्य करेगा । इसका समाधान केवल एक बार एक कार्रवाई चलाने के लिए है (उदाहरण के लिए उपयोगकर्ता सेटअप / पंजीकरण पर) ताकि उसके बाद उपयोगकर्ता अपने आप ही रंग तय कर सके और बदल सके:

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 पर एक बहुत अच्छा प्लगइन भी है: डिफ़ॉल्ट व्यवस्थापक रंग योजना


2
सेट-सक्षम डिफ़ॉल्ट के बजाय यह बल विशिष्ट योजना नहीं होगी ?
रारस्ट

@ अच्छी बात है! मैंने अपना उत्तर अपडेट किया और केवल सेटअप पर रंग बदलने के लिए एक कार्रवाई जोड़ी; उसके बाद यह उपयोगकर्ता पर निर्भर है :)
स्वेन

वास्तव में - यह पहले से पंजीकृत उपयोगकर्ताओं के लिए बहुत उपयोगी नहीं है। मुझे नहीं लगता कि वास्तव में उन्हें अगले लॉगिन पर चुनाव करने के लिए मजबूर करने का एक तरीका है (मुझे लगता है कि बहुत काम होगा)।
सोल

@ शोले की जाँच करें कि क्या पहले से कोई सेटिंग है और अगर यह 3.8 से पूर्वनिर्धारित रंग योजनाओं में से एक है। यदि अब, बस exit( wp_redirect( admin_url( 'profile.php' ) ) );(इसके बारे में निश्चित नहीं है profile.php) उन्हें अपनी प्रोफ़ाइल पर पुनर्निर्देशित करें और उन्हें जोड़ दें admin_noticeकि उन्हें बदलना चाहिए। इस तरह से किया, वे मजबूर हैं क्योंकि पुनर्निर्देशन तब तक होगा जब तक यह सेटिंग पूरी नहीं हो जाती :) :)
kaiser

हाय कैसर, लगता है कि आप एक उदाहरण कोड प्रदान करने में सक्षम हैं?
सोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.