Удаление последних тегов Wordpress из базы данных - PullRequest
0 голосов
/ 05 января 2011

Мне нужна ваша помощь относительно запроса Wordpress mySQL.

Ситуация

Я использую WordPress 3.0.1, установил один «Умный плагин», который автоматически помечал мои сообщенияс тэгами.По ошибке я отметил, что этот плагин может также помечать "похожие посты".Таким образом, в конце концов, этот плагин не только создал хорошие и релевантные теги для нужных мне сообщений, но также создал множество мусорных тегов для un связанных сообщений.

Что у меня сейчас - многотегов в базе данных и панелей, которые действительно необходимо удалить.Я могу найти в базе данных FROM WHAT TAG ID, которую я хочу удалить (таблица wp_terms, поле term_id), эти теги.

Подробнее

У меня есть доступ к phpMyAdmin, также язнаю, что мне нужно удалить записи с помощью SQL-запроса из таблиц

wp_terms, wp_term_relationships и wp_term_taxonomy

Также здесь была довольно большая проблема, как у меня Массовое удаление непопулярноТеги

Помощь!

Может быть, кто-то, кто знаком с WordPress, может помочь мне и написать запрос, чтобы удалить теги и все необходимые отношения из определенного term_id и доконец

Ответы [ 2 ]

1 голос
/ 22 февраля 2013

Кори, спасибо за помощь, можете себе представить ... я только сейчас вернулся к этой проблеме ...

И еще одно обновление, может быть, оно сэкономит для кого-то время.Если вы хотите массово удалить теги из базы данных Wordpress (запрос mySQL в phpmyadmin) между некоторыми идентификаторами, вы можете выполнить почти такой же запрос SQL:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE term_id >= [FromID] AND term_id <= [ToID] );

DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Просто замените [FromID] начальным идентификатором тега, который вы хотитеудалить, и [ToID] с завершающим немного удалить.

Так что если вам нужно удалить теги, скажем, с идентификатора 231 до идентификатора 1098, окончательный запрос выглядит следующим образом:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE term_id >= 231 AND term_id <= 1098 );

DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Живи долго и процветай!

1 голос
/ 05 января 2011

Поскольку term_id увеличивается автоматически, вы, вероятно, можете УДАЛИТЬ все записи, ГДЕ term_id больше, чем идентификатор термина тегов, которые вы хотите сохранить.

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE term_id >= [ID] );

DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Замените [ID] идентификатором первого термина, который вы хотите удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...