Задача. В интернет-магазине есть много товаров. Большая часть из них имеет метку «Новые товары». Необходимо массово перевести товары с этой меткой в черновики.
Решение. Понятно, что можно в админ-панели в разделе товаров, отсортировать по метке, выбрать все твары, которые влезли на страницу и массово редактировать, переведя в черновики. Но такой вариант подойдет если редактируемых товаров сотни. Иначе, даже если сервер потянет редактировать за раз по 100-200 штук, а товаров тысяч 10-30 — это долго.
Есть способ по проще. Массово перевести товары с нужной меткой или категорией (по таксаномии) в черновики можно через SQL-запрос к базе данных — Код №1. Данный код используем в phpMyAdmin. Также можно и перевести обратно в опубликованные, заменив ‘draft‘ на ‘publlish‘.
1 2 3 4 5 6 |
UPDATE wp_posts p JOIN wp_term_relationships r on p.id=r.object_id SET p.post_status='draft' WHERE r.term_taxonomy_id in (123, 456, 987); |
SET p.post_status='draft'
— перевод постов черновики — ‘draft‘, в опубликованные ‘publlish‘.WHERE r.term_taxonomy_id in (123, 456, 987)
— id таксаномий через запятую, если их несколько. id можно найти, на странице редактирования нужной таксаномии в URL адресной строки браузера (что-то вроде «…ID=85&post…«).