Выполнение с помощью команды SQL будет вашим лучшим выбором. Таблицы wp_terms
, wp_term_relationships
и wp_term_taxonomy
являются представляющими интерес. WordPress отслеживает отношения с wp_term_taxonomy.count
. Таким образом, эта помощь облегчает жизнь.
-- remove terms
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'tag' AND count <= 5;)
-- remove all relationships
DELETE FROM wp_term_relationships WHERE term_taxonomy_id IN (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE taxonomy = 'tag' AND count <= 5;)
-- remove taxonomy entry
DELETE FROM wp_term_taxonomy WHERE taxonomy = 'tag' AND count <= 5;
Примечание: я настоятельно рекомендую сделать резервную копию этих таблиц перед выполнением команды выше.
Удивительно, спасибо за супер быстрый ответ ... Я дам им попробовать прямо сейчас. Еще раз спасибо –
Я думаю, вы захотите использовать пример Джейсона Маккрири, чтобы изменить мой код (или просто запустите запросы и посмотрите, что произойдет). Похоже, вам нужно удалить строки из трех уровней, а не только из одной базы данных. – Citizen
вы можете удалить только из 'wp_terms', но у вас будет плохая целостность данных и проблемы, если вы добавите еще один тег с тем же именем. –