6

我正在研究一个 wordpress 项目并挖掘角色等。

我有以下代码,它基本上可以获得所有可用的角色:

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

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

当我运行上面的代码时,我得到以下输出:

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

我希望将上面的内容从数组中剥离出来,变成一个无序列表。我将如何实现这一目标?

谢谢丹

4

5 回答 5

10

您可以使用foreach循环来遍历数组中的每个角色。

<ul>
<?php foreach($roles as $role) { ?>
   <li><?php echo $role;?></li>
<?php }//end foreach ?>
</ul>
于 2012-10-31T17:13:49.363 回答
5

这是制作 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>
于 2014-03-11T11:08:40.990 回答
3

由于l10n 函数不接受变量translate_user_role()因此需要正确翻译角色名称。此外,使用wp_roles()而不是全局变量$wp_roles是更安全的方法,因为它首先检查是否设置了全局变量,如果没有设置并返回它。

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

foreach( $roles as $role ) {
    echo translate_user_role( $role );
}
于 2017-03-03T02:51:02.023 回答
2

只是一个额外的信息。还有一个函数wp_dropdown_roles()为您提供作为选项 html 元素的角色。

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

您还可以通过将角色 slug 作为参数传递来设置默认选定值。

<select>
   <?php wp_dropdown_roles( 'editor' ); ?>
</select>
于 2017-08-03T15:01:59.423 回答
0

您想显示可用 WordPress 角色名称的选择列表。

$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>';
于 2021-06-23T10:14:02.400 回答