Описание delete_post_{$post->post_type}
— Action
Хук delete_post_{$post->post_type} позволяет выполнять действия при удалении постов определенного типа в WordPress. Он срабатывает, когда пост удаляется из базы данных, предоставляя возможность выполнить дополнительные действия, такие как очистка метаданных или удаление связанных данных
Примеры использования
Пример удаления метаданных при удалении поста:
add_action('delete_post_product', function($post_id) {
delete_post_meta($post_id, 'custom_meta_key');
});
В этом примере мы удаляем метаданные с ключом ‘custom_meta_key’ при удалении товара
Пример удаления связанных комментариев при удалении поста:
add_action('delete_post_article', function($post_id) {
wp_delete_comment($post_id);
});
Здесь мы удаляем все комментарии, связанные с удаляемым постом типа ‘article’
Пример отправки уведомления при удалении поста:
add_action('delete_post_page', function($post_id) {
$post = get_post($post_id);
wp_mail('admin@example.com', 'Пост удалён', 'Пост с ID ' . $post_id . ' был удалён');
});
Мы отправляем уведомление на электронную почту администратора при удалении страницы
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо выполнить дополнительные действия при удалении постов, такие как очистка данных или уведомления
– Производительность
Избегайте выполнения тяжелых операций в хуке, чтобы не замедлить процесс удаления поста
– Предупреждения
Следите за тем, чтобы ваши действия не нарушали функциональность сайта или не оставляли ‘мусор’ в базе данных
Альтернативы
Тип: action
Этот хук срабатывает перед удалением поста и позволяет выполнить действия до фактического удаления
Используйте его, если необходимо выполнить действия перед удалением поста, например, создание резервной копии
Тип: action
Этот хук срабатывает при перемещении поста в корзину, что может быть полезно для выполнения действий перед окончательным удалением
Используйте его, если хотите выполнить действия при перемещении поста в корзину вместо его окончательного удаления