Полезные запросы, чтобы очистить БД в wp

Очищает всякие левые символы. Когда кодирует БД туда сюда.
UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“');
UPDATE wp_posts SET post_content = REPLACE(post_content, '”', '”');
UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '’');
UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '‘');
UPDATE wp_posts SET post_content = REPLACE(post_content, '—', '–');
UPDATE wp_posts SET post_content = REPLACE(post_content, '–', '—');
UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-');
UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…');

UPDATE wp_comments SET comment_content = REPLACE(comment_content, '“', '“');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '”', '”');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '’', '’');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '‘', '‘');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '—', '–');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '–', '—');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '•', '-');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '…', '…');


Запрос, чтобы закрыть все «обратные ссылки» на свои посты. Ну функция пингбеки знаете такая есть. Не будешь же каждую запись вручную ;)
UPDATE wp_posts SET ping_status = 'closed';


Очищает все неиспользуемые шорткоды.
UPDATE wp_post SET post_content = replace(post_content, '[tweet]', '' ) ;


Удаляет некорректные метки
DELETE FROM wp_postmeta WHERE meta_key = 'YourMetaKey';


Удаляет все неиспользуемые и давно забытые метки, которые не принадлежат постам, но остались в базе.
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);


Очистка кеша фидов.
DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_feed_%')


Удаляет все копии сообщений и историю изменений.!!! Вот это очень хорошо очищает. Ибо после каждого редактирования сохраняется копия правок.
DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);


Пакетное удаление старых сообщений
В данном примере устанавливается для удаления любой пост, который старше 600 дней.
DELETE FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > 600


Изменить автора у всех сообщений сразу.
SELECT ID, display_name FROM wp_users;

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
comments powered by Disqus

0 комментариев

Оставить комментарий