web-dev-qa-db-fra.com

Page de menu avec liste d'utilisateurs

J'ai besoin d'un moyen de créer une page de menu avec une liste de tous les utilisateurs à des fins administratives. La liste sera utilisée par les utilisateurs qui ne disposent pas de l'autorisation ou accèdent à la page de menu "Utilisateurs". La page doit comporter l'ID utilisateur, le nom, la date d'enregistrement, le surnom, le niveau d'utilisateur et le rôle de l'utilisateur pour chaque utilisateur

Une idée comment y parvenir? Tout document de référence ou tutoriel est également le bienvenu.

1
user1068410

En tant que plugin, tout ce que je peux vous donner est le suivant.

<?php
/*
Plugin Name: Users Table
Plugin URI: http://www.exe.ie
Description: A list of all available users with their ID, Name, Registration Date, Nickname, User Level and User Role
Version: 1.0
Author: Daniel Conde
Author URI: http://www.exe.ie
License: GPL
*/

add_action('admin_menu', 'my_user_table_menu');

function my_user_table_menu() {
    add_menu_page('Users Table', 'Users Table', '0', 'users_table', 'users_table');
  }

function users_table() {
        global $wpdb; ?>
    <div>
      <h3>Users Table</h3>
      <table class="wp-list-table widefat fixed users">
        <thead>
          <tr>
            <th><b>User ID</b></th>
            <th><b>Name</b></th>
            <th><b>Registered</b></th>
            <th><b>Nickname</b></th>
            <th><b>User Level</b></th>
            <th><b>User Role</b></th>
          </tr>
        </thead>
        <tbody id="the-list" class="list:user"><?php 
          $wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");
          foreach ( $wp_user_search as $userid ) {
            $user_id = (int) $userid->ID;
            $user_info = get_userdata($user_id);
            $formid = $user_info->formid;
            $user = new WP_User( $user_id );
            echo '<tr id="user-'.$user_id.'" class="alternate">';
            echo '<th>' . $user_id . '</th>';
            echo '<th>' . $user_info->display_name . '</th>';
            echo '<th>' . $user_info->user_registered . '</th>';
            echo '<th>' . $user_info->nickname . '</th>';
            echo '<th>' . $user_info->user_level . '</th>';
            echo '<th>'; if ( !empty( $user->roles ) && is_array( $user->roles ) ) { foreach ( $user->roles as $role ) echo $role; } echo '</th>';
            echo '</tr>';
          } ?>
        </tbody>
        <tfoot>
          <tr>
            <th><b>User ID</b></th>
            <th><b>Name</b></th>
            <th><b>Registered</b></th>
            <th><b>Nickname</b></th>
            <th><b>User Level</b></th>
            <th><b>User Role</b></th>
          </tr>
        </tfoot>
      </table>
    </div><?php 
  } ?>

Pas une beauté, mais ça fait le travail.

Copiez et enregistrez sous le fichier users-table.php, téléchargez-le dans votre dossier plugins

1
user983248