Описание pre_delete_post
— Action
Хук pre_delete_post срабатывает перед удалением поста в WordPress. Он позволяет выполнять действия или проверки перед фактическим удалением поста, что может быть полезно для обеспечения целостности данных или выполнения логики, связанной с удалением постов
Примеры использования
Пример создания резервной копии данных перед удалением поста:
add_action('pre_delete_post', function($post_id) {
$post = get_post($post_id);
// Сохранить данные поста в резервную копию
file_put_contents('backup_' . $post_id . '.txt', serialize($post));
});
В этом примере мы сохраняем данные поста в файл перед его удалением
Пример предотвращения удаления поста с определенным статусом:
add_action('pre_delete_post', function($post_id) {
$post = get_post($post_id);
if ($post->post_status === 'draft') {
wp_die('Нельзя удалить черновик');
}
});
В данном примере мы предотвращаем удаление поста, если он находится в статусе ‘черновик’
Пример отправки уведомления администратору перед удалением поста:
add_action('pre_delete_post', function($post_id) {
$post = get_post($post_id);
$to = 'admin@example.com';
$subject = 'Пост удален';
$message = 'Пост с ID ' . $post_id . ' был удален.';
wp_mail($to, $subject, $message);
});
Здесь мы отправляем уведомление администратору о том, что пост будет удален
— Лучшие практики
– Использование
Используйте этот хук, когда требуется выполнить действия перед удалением поста, такие как резервное копирование данных или проверки
– Производительность
Следует помнить, что выполнение сложных операций в этом хуке может замедлить процесс удаления постов
– Предупреждения
Убедитесь, что не вызываете циклы или бесконечные запросы к базе данных, что может привести к ошибкам
Альтернативы
Тип: action
Этот хук срабатывает непосредственно перед удалением поста и предоставляет схожую функциональность
Используйте его, если требуется более глубокая интеграция с процессом удаления поста