programing

wordpress 목록 사용자 역할

megabox 2023. 3. 20. 21:47
반응형

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  ) 

위의 항목을 배열에서 제거하고 순서 없는 목록으로 정리했으면 합니다.어떻게 하면 좋을까요?

고마워 댄

Foreach 루프를 사용하여 어레이의 각 역할을 루프할 수 있습니다.

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

다음은 워드프레스 사용자 역할의 드롭다운을 만드는 코드입니다.

<?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>

l10n 함수는 변수를 받아들이지 않기 때문에 역할명을 올바르게 변환하기 위해서는 가 필요합니다.또한 글로벌 변수가 아닌 사용$wp_roles는 글로벌이 설정되어 있는지 여부를 먼저 확인하고 설정되어 있지 않은 경우 설정 후 반환되기 때문에 보다 안전한 접근법입니다.

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

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

추가 정보입니다.또한 wp_dropdown_roles() 함수도 있습니다.이 함수는 html 요소로 역할을 제공합니다.

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

또한 역할 slug를 매개 변수로 전달하여 기본 선택 값을 설정할 수도 있습니다.

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

사용 가능한 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>';

드롭다운 옵션을 찾는 경우 WordPress 네이티브 기능을 사용합니다.wp_dropdown_roles이를 통해 번역된 사용자 역할이 부여됩니다.

다음은 코드 예시입니다.

<select name="default_role" id="default_role">
    <?php wp_dropdown_roles( get_option( 'default_role' ) ); ?>
</select>

언급URL : https://stackoverflow.com/questions/13162330/wordpress-list-user-roles

반응형