6

私はワードプレスプロジェクトに取り組んでおり、役割などを掘り下げています。

基本的に利用可能なすべての役割を取得する次のコードがあります。

<?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 に答える
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

追加情報です。オプションの html 要素としてロールを提供する関数wp_dropdown_roles()もあります。

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

ロールのスラッグをパラメーターとして渡すことで、デフォルトで選択された値を設定することもできます。

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