मैं विशिष्ट उपयोगकर्ता भूमिकाओं से डैशबोर्ड एक्सेस कैसे निकालूं?


11

मैं कुछ उपयोगकर्ता भूमिकाओं को डैशबोर्ड http://www.openeye.net/wp-admin/ पर पहुंचने से रोकना चाहता हूं । मैंने उपयोगकर्ता प्रोफ़ाइल को एक नए पृष्ठ पर स्थानांतरित कर दिया है और साइट पर देखा जा सकता है। मैं ऐसा कैसे कर पाऊंगा?


मैंने WooCommerce से उनके सेटअप को बदलने का अनुरोध किया, इसलिए मेनू के उनके हिस्से के लिए प्राधिकरणों का प्रबंधन करना संभव है। इस विचार पर वोट चाहिए: https://ideas.woocommerce.com कृपया इसे अपने अधिकतम 3 अंक दें, धन्यवाद!
स्टीफन

जवाबों:


22

एडमिन से बाहर के ग्राहकों और योगदानकर्ताओं को लॉक करने के लिए:

function wpse23007_redirect(){
  if( is_admin() && !defined('DOING_AJAX') && ( current_user_can('subscriber') || current_user_can('contributor') ) ){
    wp_redirect(home_url());
    exit;
  }
}
add_action('init','wpse23007_redirect');

उम्मीद है की वो मदद करदे। सभी भूमिकाएं उपयोगकर्ता को एक क्षमता देती हैं जो उस भूमिका का नाम है, इसलिए आप किसी भी भूमिका के नाम को क्षमता के रूप में उपयोग कर सकते हैं।


उत्कृष्ट, हालाँकि मुझे दूसरी पंक्ति पर एक सिंटैक्स त्रुटि मिल रही है।
ज़च शालबेट्टर

ओह ठीक है यह अतिरिक्त से संबंधित है (बाद में ('DOING_AJAX')
Zach Shallbetter

मुझे माफ करें; यह जानबूझकर किया गया था। अंत में एक और समापन होना चाहिए था। मैंने इसे जवाब में जोड़ दिया।
जॉन पी बलोच

वहाँ एक कारण यह 2011 विषय और सदस्यों प्लगइन के साथ काम नहीं करता है?
Zach Shallbetter

1
यह नेटवर्क साइटों पर काम नहीं करता है, किसी भी विचार क्यों?
Zach Shallbetter

2
//If User Roll is Subscriber, It can not login in Dashboard 
function wpse23007_redirect()
{
    if( is_admin() && !defined('DOING_AJAX') && current_user_can('subscriber') )
    {
        wp_logout();
        wp_redirect(home_url());
        exit;
    }
}
add_action('init','wpse23007_redirect');


0
 add_action('init', function(){

      $redirect = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : home_url( '/' );
      $user = wp_get_current_user();
      if ( !defined('DOING_AJAX') && in_array( 'subscriber', (array) $user->roles ) ) {

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