Описание get_users_drafts
— Filter
Хук get_users_drafts позволяет изменить массив черновиков (drafts) пользователей в WordPress. Он срабатывает при получении черновиков для определенного пользователя и позволяет модифицировать результаты запроса перед их отображением
Примеры использования
Пример фильтрации черновиков пользователя по определенному типу поста:
add_filter('get_users_drafts', function($drafts, $user_id) {
return array_filter($drafts, function($draft) {
return $draft->post_type === 'custom_post_type';
});
}, 10, 2);
В этом примере мы возвращаем только черновики определенного типа поста ‘custom_post_type’.
Пример добавления мета-данных к черновикам:
add_filter('get_users_drafts', function($drafts, $user_id) {
foreach ($drafts as $draft) {
$draft->meta_value = get_post_meta($draft->ID, 'custom_meta_key', true);
}
return $drafts;
}, 10, 2);
Здесь мы добавляем пользовательское мета-значение к каждому черновику.
Пример изменения статуса черновиков перед выводом:
add_filter('get_users_drafts', function($drafts, $user_id) {
foreach ($drafts as $draft) {
if ($draft->post_status === 'draft') {
$draft->post_status = 'pending';
}
}
return $drafts;
}, 10, 2);
Мы изменяем статус каждого черновика с ‘draft’ на ‘pending’.
— Лучшие практики
– Использование
Используйте этот хук, когда вам необходимо модифицировать или фильтровать черновики пользователей перед их отображением
– Производительность
Хук может повлиять на производительность, если фильтрация черновиков выполняется на больших данных
– Предупреждения
Следите за тем, чтобы изменения не нарушали логику работы с черновиками, особенно если вы меняете их статус
Альтернативы
Тип: action
Этот хук позволяет изменять параметры запроса постов, в том числе и черновиков, до его выполнения
Используйте его, если нужно изменить глобальный запрос для получения постов в зависимости от различных условий