Authors.php
10 months ago
Categories.php
10 months ago
DeviceBrowsers.php
10 months ago
DeviceOperatingSystems.php
10 months ago
DeviceTypes.php
10 months ago
LinkPatterns.php
10 months ago
PageTypes.php
10 months ago
ReferrerTypes.php
10 months ago
Authors.php
24 lines
| 1 | <?php |
| 2 | |
| 3 | namespace IAWP\ColumnOptions\Plugins; |
| 4 | |
| 5 | use IAWP\ColumnOptions\Option; |
| 6 | use IAWP\ColumnOptions\OptionsPlugin; |
| 7 | /** @internal */ |
| 8 | class Authors implements OptionsPlugin |
| 9 | { |
| 10 | public function get_options() : array |
| 11 | { |
| 12 | $roles_that_can_edit_posts = []; |
| 13 | foreach (\wp_roles()->roles as $role_name => $role_obj) { |
| 14 | if ($role_obj['capabilities']['edit_posts'] ?? \false) { |
| 15 | $roles_that_can_edit_posts[] = $role_name; |
| 16 | } |
| 17 | } |
| 18 | $authors = \get_users(['role__in' => $roles_that_can_edit_posts]); |
| 19 | return \array_map(function ($author) { |
| 20 | return new Option($author->ID, $author->display_name); |
| 21 | }, $authors); |
| 22 | } |
| 23 | } |
| 24 |