Описание get_editable_authors
— Filter
Хук get_editable_authors позволяет изменить массив авторов, которые могут редактировать посты в админ-панели WordPress. Он срабатывает при получении списка редактируемых авторов, что позволяет разработчикам фильтровать или изменять этот список в зависимости от своих нужд
Примеры использования
Пример удаления определенного автора из списка редактируемых:
add_filter('get_editable_authors', function($authors) {
foreach ($authors as $key => $author) {
if ($author->ID == 2) {
unset($authors[$key]);
}
}
return $authors;
});
В этом примере мы удаляем автора с ID 2 из списка редактируемых авторов
Пример добавления нового автора в список редактируемых:
add_filter('get_editable_authors', function($authors) {
$new_author = get_userdata(3); // Получаем автора с ID 3
if ($new_author) {
$authors[] = $new_author;
}
return $authors;
});
Здесь мы добавляем автора с ID 3 в список редактируемых авторов
Пример фильтрации авторов по роли:
add_filter('get_editable_authors', function($authors) {
return array_filter($authors, function($author) {
return in_array('editor', $author->roles);
});
});
Этот пример оставляет только авторов с ролью ‘editor’ в списке редактируемых
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо настроить список авторов, которые могут редактировать посты, например, для ограничения доступа
– Производительность
Хук не должен оказывать значительного влияния на производительность, так как изменения касаются только выборки данных
– Предупреждения
Убедитесь, что изменения не нарушают логику доступа к контенту на сайте
Альтернативы
Тип: filter
Этот хук позволяет изменить роли, которые могут редактировать посты, вместо изменения списка авторов
Используйте его, если нужно изменить роли, а не конкретных авторов