Описание get_others_drafts
— Filter
Хук get_others_drafts позволяет изменить массив черновиков других пользователей перед их выводом. Он срабатывает в момент запроса черновиков в административной панели и позволяет настроить, какие черновики будут доступны для просмотра и редактирования
Примеры использования
Пример фильтрации черновиков, чтобы показывать только черновики с определенной меткой:
add_filter('get_others_drafts', function($posts) {
return array_filter($posts, function($post) {
return has_tag('особая_метка', $post);
});
});
В этом примере мы оставляем только черновики с меткой ‘особая_метка’
Пример ограничения черновиков только для определенного типа записи:
add_filter('get_others_drafts', function($posts) {
return array_filter($posts, function($post) {
return $post->post_type === 'page';
});
});
Здесь мы фильтруем черновики, оставляя только страницы
Пример изменения статуса черновиков перед их выводом:
add_filter('get_others_drafts', function($posts) {
foreach ($posts as $post) {
$post->post_status = 'pending';
}
return $posts;
});
Этот код изменяет статус всех черновиков на ‘ожидающий’ перед их выводом
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить поведение или вывод черновиков других пользователей в административной панели
– Производительность
Фильтрация массива черновиков не должна значительно повлиять на производительность, но стоит следить за количеством обрабатываемых записей
– Предупреждения
Убедитесь, что изменения не нарушают функциональность управления черновиками для других пользователей
Альтернативы
Тип: action
Этот хук позволяет изменять запросы, касающиеся постов, в том числе черновиков
Используйте, если нужно изменять запросы на более глобальном уровне, а не только для черновиков