wp_trash_post()
Перемещает указанную запись (пост) в корзину. Если корзина отключена, то запись будет удалена навсегда.
При перемещении записи в корзину ей устанавливается статус trash
. В метаполе _wp_trash_meta_status
сохраняется её предыдущий статус и в метаполе _wp_trash_meta_time
записывается время перемещения в корзину. Также, все комментарии записи получают статус post-trashed
(в поле comment_approve), а прежние статусы комментариев поста записываются в метаполе поста '_wp_trash_meta_comments_status
'. Все это нужно для восстановления записи из корзины.
Если, при вызове этой функции, константа EMPTY_TRASH_DAYS=false
, то управление полностью передается функции wp_delete_post().
Всегда лучше использовать эту функцию вместо wp_delete_post(). Впрочем, wp_delete_post() передает управление wp_trash_post(), если корзина включена и тип записи равен post или page. Для произвольных типов wp_delete_post() всегда удаляет запись.
Настройка корзины в WordPress
По умолчанию в WordPress корзина включена и записи в ней храняться 30 дней, после чего удаляются навсегда. Отключается она путем установки (определения) константы EMPTY_TRASH_DAYS=false
. Определять константу нужно в файле конфигурации wp-config.php:
define( 'EMPTY_TRASH_DAYS', false ); // корзина отключена define( 'EMPTY_TRASH_DAYS', true ); // корзина включена. По умолчанию в WP define( 'EMPTY_TRASH_DAYS', 30 ); // корзина включена и записи в ней будут храниться 30 дней, после чего будут удалены.
Как отключить корзину для отдельных типов записей смотрите в сатье: Как отключить корзину в WordPress
Используйте, wp_untrash_post(), когда нужно програмно вернуть запись из корзины.
Испльзуйте wp_trash_comment(), когда нужно поместить комментарий в корзину.
Хуки из функции
Возвращает
WP_Post|false|null
. Массив данных записи (поста) или false.
Использование
wp_trash_post( $post_id );
- $post_id(число) (обязательный)
- ID поста. По умолчанию передается значение глобальной переменной $post.
Примеры
#1 Переместим запись в корзину
Если корзина включена, то переместим запись с ID=15 в корзину. Запись будет находиться в корзине 30 дней, в течении которых мы можем её восстановить. По истечении 30 дней, запись будет удалена полностью.
wp_trash_post( 15 );
Заметки
- Смотрите: wp_delete_post()
Список изменений
С версии 2.9.0 | Введена. |