मैं थीम सेटिंग्स बदलने के लिए संपादक की भूमिका की अनुमति कैसे दे सकता हूं?


22

मैंने अभी एक दोस्त के लिए एक नया ब्लॉग सेटअप किया है और सोचा कि एहतियात के तौर पर उसे तुरंत एडमिनिस्ट्रेटर एक्सेस नहीं देना बेहतर है।

मैंने इसलिए संपादक के रूप में एक नया उपयोगकर्ता बनाया।

लेकिन फिर मैंने देखा कि यह उपयोगकर्ता पृष्ठभूमि और हेडर जैसी थीम सेटिंग्स को नहीं बदल सकता है।

क्या एडिटर रोल को ट्वेंटी टेन या किसी चाइल्ड में किसी भी थीम सेटिंग्स को संपादित करने की अनुमति देने का एक आसान तरीका है? वह मूल रूप से कुछ भी करने में सक्षम होना चाहिए जो एक प्रशासक reg कर सकता है। थीम, शायद थीम भी बदल रही है।


2
: याद दिलाता है मुझे ... मैं एक प्लगइन है कि के लिए लिखा है के लिए संपादकों थीम विकल्प
FUXIA

जवाबों:


21

आप भूमिका ऑब्जेक्ट का उपयोग करके संपादक भूमिका में क्षमताओं को जोड़ सकते हैं और आपके कार्यों से जोड़ सकते हैं

<?php
   // get the the role object
   $editor = get_role('editor');
   // add $cap capability to this role object
   $editor->add_cap('edit_theme_options');
?>

आप क्षमताओं को भी हटा सकते हैं:

$editor->remove_cap('delete_posts'); 

बस क्षमताओं की सूची पर एक नज़र डालें और प्रत्येक का क्या मतलब है।


3
कूल, कि काम किया! get_role('editor')->add_cap('edit_theme_options');
छोटों के लिए

1
@hakre FYI करें प्रत्यक्ष चर असाइनमेंट जैसे कि a()->b()5 से पहले PHP के संस्करणों में काम नहीं करेगा
hitautodestruct

चूंकि भूमिकाएँ आमतौर पर डेटाबेस में संग्रहीत की जाती हैं, इसलिए अद्यतन भूमिकाएँ एक प्लगइन में और एक सक्रियण / निष्क्रियता हुक के भीतर होनी चाहिए। यह हर वर्डप्रेस प्रक्रिया पर इस कोड को चलाने के लिए आवश्यक नहीं है।
डेविड

6

चूँकि इस सवाल के लिए यह गूगल पर पहली हिट है, मुझे लगता है कि यह अपडेट के लिए सही जगह है:

मेरे लिए, मैं इसके माध्यम से काम करने के लिए नहीं मिल सका edit_theme_options। तब मैंने प्लगइन स्रोत को पढ़ा और पता चला कि यह वास्तव में है manage_options। और इसने काम किया।

tl; डॉ:

$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );

मेरे लिए काम करता है (वर्ष 2014 में)


महान सामान दोस्त ...
अब्बास

WP> 4.0 के लिए एक और लाइन जोड़ने की आवश्यकता है$role_object->add_cap('customize');
एलेक्स

5

क्या उन्हें "edit_themes" क्षमता की आवश्यकता नहीं है? प्रत्येक भूमिका से जुड़ी क्षमताओं को संपादित करने के लिए आप जस्टिन टडलॉक प्लगइन http://wordpress.org/extend/plugins/members/ का उपयोग कर सकते हैं ।


1

एक अन्य महान प्लगइन उपयोगकर्ता भूमिका संपादक (http://wordpress.org/extend/plugins/user-role-editor/) है। यह सदस्यों के समान है, लेकिन उपयोग करने के लिए बहुत अधिक बुनियादी और सरल है। इसके अलावा, यदि आवश्यक हो तो डेवलपर्स हमेशा प्रतिक्रिया सुनने और सहायता प्रदान करने के लिए आसपास होते हैं।


0

यह पुराना है, लेकिन यहां एक नया तरीका है जिससे आप इसे हासिल कर सकते हैं:

add_filter( 'user_has_cap',
function( $caps ) {
    if ( ! empty( $caps['edit_pages'] ) )
        $caps['edit_theme_options'] = true;
    return $caps;
} );
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.