7 votes

wordpress liste les rôles des utilisateurs

Je travaille sur un projet wordpress et j'étudie les rôles, etc.

J'ai le code suivant qui récupère tous les rôles disponibles :

<?php 
     global $wp_roles;
     $roles = $wp_roles->get_names();

     // Below code will print the all list of roles.
     print_r($roles);        
?>

Lorsque j'exécute le code ci-dessus, j'obtiens le résultat suivant :

array ( [administrator] => Administrator [editor] => Editor [author] => Author [contributor] => Contributor [subscriber] => Subscriber [basic_contributor] => Basic Contributor  ) 

J'aimerais que les éléments ci-dessus soient retirés du tableau et transformés en une simple liste non ordonnée. Comment puis-je y parvenir ?

Merci Dan

10voto

Marty Points 3332

Vous pouvez utiliser un foreach pour parcourir en boucle chacun des rôles du tableau.

<ul>
<?php foreach($roles as $role) { ?>
   <li><?php echo $role;?></li>
<?php }//end foreach ?>
</ul>

5voto

gmwraj Points 121

Voici le code pour créer une liste déroulante du rôle de l'utilisateur wordpress

<?php global $wp_roles; ?>

<select name="role">
<?php foreach ( $wp_roles->roles as $key=>$value ): ?>
<option value="<?php echo $key; ?>"><?php echo $value['name']; ?></option>
<?php endforeach; ?>
</select>

4voto

Marc Wiest Points 119

Depuis l'entrée en vigueur de la Les fonctions l10n n'acceptent pas de variables , translate_user_role() est nécessaire pour traduire correctement les noms de rôle. En outre, l'utilisation de wp_roles() plutôt que la variable globale $wp_roles est l'approche la plus sûre, car elle vérifie d'abord si la valeur globale est définie et, si ce n'est pas le cas, elle la définit et la renvoie.

$roles = wp_roles()->get_names();

foreach( $roles as $role ) {
    echo translate_user_role( $role );
}

2voto

Chris Laconsay Points 392

Juste un complément d'information. Il existe également une fonction wp_dropdown_roles() qui vous donne les rôles en tant qu'éléments html optionnels.

<select>
   <?php wp_dropdown_roles(); ?>
</select>

Vous pouvez également définir la valeur sélectionnée par défaut en passant le nom du rôle en tant que paramètre.

<select>
   <?php wp_dropdown_roles( 'editor' ); ?>
</select>

0voto

Abdullah Mahi Points 60

Vous souhaitez afficher une liste de noms de rôles WordPress disponibles.

$roles_obj = new WP_Roles();
$roles_names_array = $roles_obj->get_names();
echo '<select name="role">';
foreach ($roles_names_array as $role_name) {
    echo '<option>'.$role_name.'</option>';
}
echo '</select>';

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X