Как мгновенно удалять записи/страницы безвозвратно?

3 июн. 2014 г., 16:08:56
Просмотры: 17.2K
Голосов: 2

Для целей разработки мне необходимо постоянно заполнять и очищать экземпляр WordPress тестовым контентом. Удаление всего в два шага довольно раздражает, поэтому я хочу узнать, есть ли способ сократить долгий путь через корзину при удалении записей. Помогите, пожалуйста.

1
Комментарии

Также доступен плагин для мгновенного удаления записей прямо из админ-панели, который работает со всеми типами записей. Смотрите: https://wordpress.org/plugins/force-delete-posts/

Liam Stewart Liam Stewart
19 мар. 2018 г. 03:19:02
Все ответы на вопрос 3
0

Учитывая, что этот сайт посвящён WordPress разработке, я предполагаю, что вы хотите узнать, как программно (принудительно) удалять записи.

wp_delete_post(257, true); // `true` означает, что вы хотите принудительно удалить запись (минуя корзину)

Подробнее о функции wp_delete_post()

3 июн. 2014 г. 16:17:56
5

Вы можете установить интервал времени для автоматической очистки корзины:

В файле wp-config.php добавьте:

define('EMPTY_TRASH_DAYS', 1); // Целое число означает количество дней

РЕДАКТИРОВАТЬ: Чтобы отключить корзину, установите количество дней равным нулю (http://codex.wordpress.org/Editing_wp-config.php)

Надеюсь, это поможет!

3 июн. 2014 г. 16:15:29
Комментарии

Для мгновенного удаления необходимо установить значение 0.

Nicolai Grossherr Nicolai Grossherr
3 июн. 2014 г. 16:18:11

@ialocin - Установка define( 'EMPTY_TRASH_DAYS', 0 ); только отключает автоматическое удаление. Элементы затем остаются в корзине навсегда, если не удаляются вручную.

norman.lol norman.lol
3 июн. 2014 г. 16:31:07

@koivo "Чтобы отключить корзину, установите количество дней на ноль. Обратите внимание, что WordPress не будет запрашивать подтверждение, когда кто-то нажимает на «Удалить навсегда»." Это из codex.

ITChristian ITChristian
3 июн. 2014 г. 16:39:16

@ialocin - Пожалуйста, попробуйте сами. Это только отключает автоматическое удаление. Я читал документацию.

norman.lol norman.lol
3 июн. 2014 г. 16:40:21
2

Используя WP-CLI, этого можно легко достичь, комбинируя команды wp post list и wp post delete с опцией --force, чтобы пропустить корзину, например:

# Удалить все записи, пропуская корзину
$ wp post delete $(wp post list --post_type='post' --format=ids) --force

Другие примеры:

# Удалить запись, пропуская корзину
$ wp post delete 123 --force
Success: Запись 123 удалена.

# Удалить все страницы
$ wp post delete $(wp post list --post_type='page' --format=ids)
Success: Запись 1164 перемещена в корзину.
Success: Запись 1186 перемещена в корзину.

# Удалить все записи в корзине
$ wp post delete $(wp post list --post_status=trash --format=ids)
Success: Запись 1268 удалена.
Success: Запись 1294 удалена.
12 мая 2019 г. 19:40:45
Комментарии

Это не работает, если у вас установлен WPML

FooBar FooBar
5 нояб. 2019 г. 14:56:08

@FooBar – Почему?

norman.lol norman.lol
5 нояб. 2019 г. 15:02:36