lựa chọn thả xuống theo thứ tự bảng chữ cái trong bảng điều khiển


7

Trang web tôi đang làm việc sẽ có một số lượng lớn vai trò người dùng duy nhất thông qua plugin thành viên. Do đó, tôi muốn có lựa chọn thả xuống Vai trò trên trang Thêm người dùng mới để hiển thị vai trò theo thứ tự bảng chữ cái, thay vì giảm thứ tự tạo.

Có cách nào để làm điều này?

Câu trả lời:


7

Gần như cùng một cách tiếp cận One Trick Pony đã chọn, nhưng tôi đang sử dụng tên được dịch và uasort()(để giữ các khóa):

add_filter( 'editable_roles', 't5_sort_editable_roles' );

/**
 * Array of roles.
 *
 * @wp-hook editable_roles
 * @param   array $roles
 * @return  array
 */
function t5_sort_editable_roles( $roles )
{
    uasort( $roles, 't5_uasort_editable_roles' );
    return $roles;
}
/**
 * Compare translated role names.
 *
 * @param  array $a First role
 * @param  array $b Second role
 * @return number
 */
function t5_uasort_editable_roles( $a, $b )
{
    return strcasecmp(
        translate_user_role( $a['name'] ),
        translate_user_role( $b['name'] )
    );
}

Là một plugin trên GitHub .


@Chirico Xem bản cập nhật của tôi, phiên bản đầu tiên đã bị lỗi.
fuxia

Cảm ơn một lần nữa, tôi mới bắt đầu gặp vấn đề với phiên bản đầu tiên. có vẻ như mọi thứ là như bây giờ
Chirico

3

Rõ ràng có một bộ lọc mà bạn có thể sử dụng trong get_editable_roleshàm (được gọi trong trang đó):

add_filter('editable_roles', function($roles){

  // sort alphabetically (ignores case)
  usort($roles, function($a, $b){
    return strcasecmp($a["name"], $b["name"]);
  });   

  return $roles;
});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.