मैं अपनी भूमिका के आधार पर उपयोगकर्ताओं की सूची कैसे प्राप्त कर सकता हूं?


10

मैं उन सभी उपयोगकर्ताओं की सूची कैसे प्राप्त कर सकता हूं जो अपनी भूमिका या क्षमताओं द्वारा वर्डप्रेस में हैं?

उदाहरण के लिए:

  • all subscribers listवर्डप्रेस में प्रदर्शित करें ।
  • all authors listवर्डप्रेस में प्रदर्शित करें ।
  • all editors listवर्डप्रेस में प्रदर्शित करें ।

जवाबों:


18

ऐसा करने के लिए कुछ अलग तरीके हो सकते हैं, लेकिन ऐसा करने का सबसे उचित तरीका निम्नलिखित है।

<?php

$args = array(
    'role'    => 'Your desired role goes here.',
    'orderby' => 'user_nicename',
    'order'   => 'ASC'
);
$users = get_users( $args );

echo '<ul>';
foreach ( $users as $user ) {
    echo '<li>' . esc_html( $user->display_name ) . '[' . esc_html( $user->user_email ) . ']</li>';
}
echo '</ul>';

?>

3

यहाँ समूहन भूमिकाओं के लिए सरल दृष्टिकोण।

$wp_roles = wp_roles();
$result   = count_users();

foreach ( $result['avail_roles'] as $role => $count )
{
    if ( 0 == $count )
        continue; //pass role none

    $args = array(
        'role' => $role
    );

    $users = get_users( $args );
    $user  = array();
    for ( $i = 0; $i < $count ; $i++ )
        $user[] = esc_html( $users[ $i ]->display_name ); //show display name

    //output
    echo wp_sprintf( '<h2>%1$s</h2><ul><li>%2$s</li></ul>',
        esc_html( $wp_roles->role_names[ $role ] ),
        implode( '</li><li>', $user )
    );
}

2

जब आपको अल्टीमेट मेंबर प्लगिन रोल वाले यूजर्स मिलते हैं, तो आपको अपने रोल वैल्यू में "um_" जोड़ना होगा। उदाहरण के लिए, आपने अल्टीमेट मेम्बरशिप प्लगिन में "क्लाइंट" नाम का रोल बनाया, तब $ args होगा

$args = array(
    'role'    => 'um_client',
    'orderby' => 'user_nicename',
    'order'   => 'ASC'
);

0

राजा के जवाब पर विस्तार करते हुए आप एक सहायक फ़ंक्शन भी लिख सकते हैं जो आपके लिए इसे संभालता है:

<?php
# This goes in functions.php
function get_users_by_role($role, $orderby, $order) {
    $args = array(
        'role'    => $role,
        'orderby' => $orderby,
        'order'   => $order
    );

    $users = get_users( $args );

    return $users;
}
?>

फिर उपयोगकर्ताओं को एक विशिष्ट भूमिका द्वारा प्राप्त करने के लिए आप बस कर सकते हैं:

<?php $users = get_users_by_role('Your role', 'user_nicename', 'ASC'); ?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.