केवल कार्य में गैर व्यवस्थापक के लिए "त्वरित संपादन" अक्षम करें। पीपी


11

मैं अपने कार्यों में यह है

function remove_quick_edit( $actions ) {
    unset($actions['inline hide-if-no-js']);
    return $actions;
}
add_filter('post_row_actions','remove_quick_edit',10,1);

प्रकाशित पदों की सूची को स्क्रॉल करते समय बैकएंड में त्वरित संपादन लिंक को हटाने के लिए।

यह एक आकर्षण की तरह काम करता है लेकिन यह व्यवस्थापक भूमिका के लिए भी इसे अक्षम करता है। क्या बाकी के लिए सक्षम होने के बावजूद इसे केवल एडमिन के लिए दिखाना संभव है? धन्यवाद!

Jfacemyer के लिए धन्यवाद! यह functions.php में जोड़ने के लिए पूर्ण कोड है

function remove_quick_edit( $actions ) {
    unset($actions['inline hide-if-no-js']);
    return $actions;
}
if ( ! current_user_can('manage_options') ) {
    add_filter('post_row_actions','remove_quick_edit',10,1);
}

मुझे विश्वास है कि उपयोगकर्ता भूमिका संपादक प्लगइन आपको ऐसा करने देगा। अगर मैं गलत हूं तो मुझे सिर में मुक्का मारो।
जेरेड स्टीफन

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

कृपया सावधान रहें: आपके द्वारा उल्लिखित समाधान बल्क एक्शन से "एडिट" को हटाता नहीं है। ऐसा करने के लिए, आपको कोड के इस स्निपेट को जोड़ना होगाadd_filter( 'bulk_actions-edit-post', 'remove_from_bulk_actions' ); function remove_from_bulk_actions( $actions ){ unset( $actions[ 'edit' ] ); return $actions; }
मार्को पानिची

जवाबों:


9

कॉल current_user_canलपेटने के लिए उपयोग add_filterकरें:

if ( current_user_can('manage_options') ) {
} else {
    add_filter('post_row_actions','remove_quick_edit',10,1);
}

manage_optionsएक व्यवस्थापक क्षमता है। यदि वर्तमान उपयोगकर्ता ऐसा कर सकता है, तो वह एक व्यवस्थापक है (वेनिला WP इंस्टॉलेशन पर)।

देख:

http://codex.wordpress.org/Roles_and_Capabilities

तथा

http://codex.wordpress.org/Function_Reference/current_user_can


यह विशेष रूप से यहाँ उल्लेख नहीं है, लेकिन के लिए hierarchicalपोस्ट प्रकार, आप का उपयोग करना चाहिए: page_row_actionsदेखने core.trac.wordpress.org/browser/tags/5.2.2/src/wp-admin/...
farinspace

8

यदि आप पृष्ठों से क्विक एडिट विकल्प को हटाना चाहते हैं तो यह कोड है:

function remove_quick_edit( $actions ) {
    unset($actions['inline hide-if-no-js']);
    return $actions;
}
if ( !current_user_can('manage_options') ) {
    add_filter('page_row_actions','remove_quick_edit',10,1);
    add_filter('post_row_actions','remove_quick_edit',10,1);
}

0

कम से कम WP 4.3.1 में भूमिका नाम का उपयोग करना संभव है current_user_can()। तो कोड अब इस तरह दिख सकता है:

function remove_quick_edit( $actions ) {
  unset($actions['inline hide-if-no-js']);
  return $actions;
}
if ( !current_user_can('administrator') ) {
  add_filter('post_row_actions','remove_quick_edit',10,1);
}

क्लीनर और अधिक सहज।


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