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