пр. Мира 620000 Россия +7900-000-00-00
Логотип блога интернет-бродяги

Полезные SQL-запросы к базе данных WordPress

SQL-запросы к базе данных

Последнее бновение - 15 января 2023 в 16:49

При помощи некоторых полезных SQL-запросов к базе данных WordPress можно решить много задач, не прибегая к системе управления контентом. Чтобы выполнить SQL-запрос, необходимо открыть phpMyAdmin — программный инструмент администрирования MySQL через Интернет.

Содержание:

Обратиться к phpMyAdmin можно в один клик из панели управления аккаунтом хостинга, где размещается сайт. У меня это прекрасно получается делать на хостинге TimeWeb.

Нажать пару кнопок, действительно, просто, чтобы получить желаемый результат. Но стоит удостовериться, что в нашем распоряжении имеется свежий бэкап базы данных и файлов сайта. Вдруг что-то пойдёт не по задуманному сценарию при выполнении запроса к БД.

Как удалить все trackbacks

Чтобы удалить трекбеки на сайте, выполним вот такой запрос:

DELETE FROM wp_comments WHERE comment_type="trackback";

Как отключить трекбеки

Трекбеки можно не удалять, а отключить:

UPDATE wp_posts SET ping_status = 'closed';

Как удалить все неодобренные комментарии

Не заходя в админку WordPress, удалим все неодобренные комменты:

DELETE from wp_comments WHERE comment_approved = '0';

Как удалить комментарии с определённого url

Надоел конкретный комментатор? Удалите все его комменты так:

DELETE from wp_comments WHERE comment_author_url LIKE "%url комментатора%" ;

Как удалить все спам-комментарии

Чик и всё:

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

Как удалить все версии записи и всё что с ними связано

И никакого следа:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';

Как удалить неиспользуемые шорткоды в записях

Если устаревших шорткодов ну очень много на сайте, лучше не копаться отдельно в каждой записи, а удалить все ненужные шорткоды скопом:

UPDATE wp_posts SET post_content = replace(post_content, '', '' ) ;

Как удалить ненужные древние записи

Считаете, что записи до такой-то даты потеряли актуальность? Можно не редактировать их, а просто удалить:

DELETE FROM wp_posts WHERE post_date < '2010-01-01 00:00:00' AND post_status = 'publish'

Как заменить в записях одно слово на другое

Вы обнаружили, что из статьи в статью совершали какую-то одну грамматическую ошибку, либо неправильно переводили слово. А может быть, вставили неправильный линк. И тут есть выход. Чтобы не редактировать по очереди все статьи с ошибками, сделайте так:

UPDATE wp_post SET post_content = replace(post_content, 'старое_слово', 'новое_слово' ) ;

Как вывести список электронных адресов комментаторов

Не знаю, зачем это надо, но вот запрос:

SELECT DISTINCT comment_author_email FROM wp_comments;

Как изменить авторство записей

Решили изменить ник автора статей? Поможет такой запрос:

UPDATE wp_posts SET post_author = 'id-newafftar' WHERE post_author = 'id-oldafftar';

Как изменить пароль пользователя

В целях безопасности надо почаще менять пароли. Чтобы обновить пароль пользователя, выполните запрос:

UPDATE wp_users SET user_pass = MD5( 'новый_пароль' ) WHERE user_login = 'имя_пользователя';

Как деактивировать все плагины

Выявили какой-то баг в работе WordPress? Попробуйте сначала деактивировать плагины таким запросом к БД:

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

Как удалить transients

Хотите уменьшить размер БД? Попробуйте удалить transients:

DELETE FROM wp_options WHERE option_name LIKE ('%\_transient\_%');

Как удалить неиспользуемые теги

Время не стоит на месте. Теги устаревают и некоторые уже давно не используются. Удалите их с помощью этого запроса:

DELETE FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id
WHERE wtt.taxonomy = 'post_tag' AND wtt.count = 0;

Как изменить все url при смене домена

Решили обзавестить другим доменным именем для своего сайта? На помощь придёт такой запрос к БД:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'https://newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','https://newsite.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'https://newsite.com');

Как удалить все ревизии WordPress

База данных распухла до небывалых величин? Подсократите её немного, удалив ревизии записей:

DELETE FROM wp_posts WHERE post_type = "revision";

Всем WEB!

Друзья, плюсаните, вдруг пригодится!

Почитайте похожие материалы

Об авторе: Hobo

Стараюсь всё делать своими собственными руками: от починки выключателя до создания веб-сайта. В этом блоге делюсь своим опытом и впечатлениями от использования различной техники, электронных и других устройств, которые побывали у меня в руках.

2 Comments

  1. Воспользовалась несколькими запросами к Бд. Спасибо!

    1. Hobo:

      Отлично, рад, что материал оказался полезен.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *