जैसा कि मैं समझता हूं, यह शायद वर्षों में बदल गया, अब यह नहीं है 'wp_capabilities'
। मैंने कोर WP फाइलों को देखा, वे इसे अब कैसे करते हैं, और इसके लिए एक नया समाधान मिला। अब मैं जिस कोड का उपयोग कर रहा हूं:
global $wpdb;
$cap = get_user_meta( $wp_user_id, $wpdb->get_blog_prefix() . 'capabilities', true );
$cap
उदाहरण के लिए एक सहयोगी सरणी के रूप में आता है:
{
"administrator": true
}
या
{
"subscriber": true
}
तो आपके मामले में आपको संभवतः सरणी की कुंजी प्राप्त करनी चाहिए:
$caps_array = array_keys( $cap );
और फिर इससे सब कुछ प्राप्त करें। मुझे यह देखने की ज़रूरत है कि क्या उपयोगकर्ता की व्यवस्थापक भूमिका है, इसलिए मैंने जाँच की:
if ( is_array( $cap ) && !empty( $cap['administrator'] ) ) { return true; }
मेरे पास एक उपयोगकर्ता आईडी थी, न कि पूरी WP_User
वस्तु, और मैं किसी भी ऐसे समाधान का उपयोग नहीं करना चाहता था जो user
वस्तु का निर्माण करे। जैसा कि मैंने जाँच किया था, get_user_meta
इस सटीक पैरामीटर की जाँच करने के लिए सीधे db पर जाता है, इसलिए यह सबसे तेज़ और संसाधन-वार मार्ग होना चाहिए।