Описание функции wp_delete_post()
Функция wp_delete_post() удаляет запись (пост) из базы данных WordPress. Она используется для удаления записей, таких как сообщения, страницы или пользовательские типы записей. Функция также может перемещать записи в корзину, если указано соответствующее значение.
Функция полезна при управлении контентом и автоматизации процессов, связанных с удалением записей.
Параметры
$post_id
Тип: int
Обязательный: Да
Описание: ID записи, которую нужно удалить
Возможные значения:
$force_delete
Тип: bool
Обязательный: Нет
Описание: Флаг для принудительного удаления записи без перемещения в корзину
Возможные значения:
0: 1
1:
Возвращаемое значение
Тип: bool|WP_Error
Описание: Возвращает true при успешном удалении, false в случае ошибки или WP_Error при возникновении проблемы
Возможные значения:
• true — Если запись успешно удалена
• false — Если удаление не удалось
• WP_Error — В случае ошибки при удалении
Примеры использования
Базовый пример удаления записи с ID 42
$result = wp_delete_post(42);
// Проверка результата
if ($result) {
echo 'Запись успешно удалена';
} else {
echo 'Ошибка при удалении записи';
}
При успешном удалении выведет сообщение
Удаление записи с ID 42 без перемещения в корзину
$result = wp_delete_post(42, true);
// Проверка результата
if ($result) {
echo 'Запись успешно удалена без возможности восстановления';
}
Запись будет безвозвратно удалена
Проверка на ошибки при удалении несуществующей записи
$result = wp_delete_post(9999);
if (is_wp_error($result)) {
echo 'Ошибка: ' . $result->get_error_message();
}
Выведет сообщение об ошибке
Удаление записи с проверкой прав пользователя в плагине
$post_id = 42;
if (current_user_can('delete_post', $post_id)) {
wp_delete_post($post_id);
}
Обеспечивает безопасность при удалении записи
Безопасность
Валидация входных данных: ID записи проходит проверку на наличие
Санитизация: Параметры автоматически очищаются WordPress
Рекомендации: Проверяйте права пользователя перед удалением записи с помощью current_user_can()
— Связанные функции
Перемещает запись в корзину вместо удаления
Удаляет вложение по ID
— Примечания
– Ограничения
Не может удалить записи с недоступными для удаления статусами
– Частые проблемы
- Ошибка при удалении записи, если она не существует
- Проблемы с правами доступа при попытке удалить запись