полезные sql запросы wordpress

Когда я начал изучать WordPress, часто обнаружив, какой либо свой косяк или не свой я приходил в смятение. Столько нужно переделать, а сайт лежит. Приходилось много читать форумы и постоянно экспериментировать. Со временем накопился опыт быстрого исправления косяков. Возможно, эта примеры никому не помогут, возможно, навредят, но принцип действия вы поймете. Ниже будут указаны примеры использования SQL запросов. Рекомендую перед экспериментами сделать резервную копию файлов и базы данных.

посылаем SQL запросы

Для ввода SQL запросов необходимо зайти в панель phpMyAdmin. Заходим в панель управления хостингом и там находим пункт phpMyAdmin

phpMyAdmin в cPanel

phpMyAdmin в cPanel

Вот так выбираем phpMyAdmin в ISPmanager

phpMyAdmin в ISPmanager

Стрелкой указано поле для ввода SQL запросов. Потом нажимаем кнопку OK и смотрим изменения на сайте

поле для ввода sql запросов

sql запросы примеры

Как сменить пароль админа сайта

Иногда бывает и такое, забывается или теряется админский пароль. Для восстановления используем следующий SQL запрос:

UPDATE wp_users SET user_pass = MD5(‘123456789’) WHERE ID=1;

Как несложно догадаться, паролем станет комбинация цифр «123456789».

Таким же образом можно поменять пароль и для любого другого юзера, который есть в базе данных. Только не забудьте сменить ID администратора (по умолчанию это всегда 1) на ID нужного пользователя. Но при необходимости пользователя можно выбрать не по ID, а по логину:

UPDATE wp_users SET user_pass = MD5(‘12345’) WHERE user_login = ‘admin’;

 

Массово удаляем комментарии, помеченных как спам

Все достаточно просто. Данный SQL запрос удаляет из базы данных все комментарии, отмеченные как спам.

DELETE FROM wp_comments WHERE comment_approved = 0

 

Меняем значения GUID

Иногда вместе со сменой домена сайта возникает необходимость изменить и значение GUID (Globally Unique Identifier) в таблице wp_posts. Кроме того, его нужно сменить при переезде с локального сервера на хостинг.

Вообще-то, всё будет работать и так, но без этого WordPress не будет осуществлять перенаправление посетителей с неправильных URL на правильные.

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.oldblog.kz’, ‘http://www.newblog.kz’);

«http://www.oldblog.kz» и «http://www.newblog.kz» необходимо сменить, соответственно, на старый и новый URL сайта.

 

Массовая смена URL в текстах статей

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

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.oldblog.kz’, ‘http://www.newblog.kz’);

«http://www.oldblog.kz» и «http://www.newblog.kz» необходимо сменить, соответственно, на старую и новую ссылки.

Данный запрос может понадобится при переезде сайта на новый домен, а также при смене URL сайта, на который вы часто ссылались на страницах своего блога.

Данный запрос сработает не только для ссылок, но и для других текстовых фрагментов.

 

Удаляем ревизий записей

Довольно часто возникает ситуация, когда ревизии записей заполняют всю базу данных своими многочисленными копиями. С помощью этого SQL запроса можно удалить их все сразу.

DELETE a,b,c FROM wp_posts aLEFT 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’

Кроме того, этот запрос удалит и всю привязанную к ним META-информацию.

 

Удаляем META-данных, которые остаются после удаления плагинов

Информация, которая используется в работе плагинов, хранится в таблице wp_postmeta. К сожалению, некоторые авторы плагинов не считает нужным очистить все эти данные при удалении плагина.

Для того чтобы удалить избыточную информацию из базы, воспользуемся вот таким SQL-запросом:

DELETE FROM wp_postmeta WHERE meta_key = ‘your-meta-key’;

Вместо your-meta-key подставьте нуждающийся в удалении META-ключ.

Смотрим пример использования запроса: плагин Another WordPress Meta Plugin хранит всю нужную ему в работе информацию в META-ключе «description». Для того чтобы удалить этот МЕТА-ключ, необходимо выполнить следующий SQL-запрос к базе данных:

DELETE FROM wp_postmeta WHERE meta_key = ‘description’;

 

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

Иногда бывает  плагины устанавливаются некорректно или сами плагины сделаны не очень качественно, и тогда возникает ситуация, когда невозможно попасть в административную панель и отключить проблемный плагин стандартным методом.

В данном случае можно либо удалить плагин через FTP-менеджер, или выполнить следующий SQL- запрос:

UPDATE wp_options SET option_value = » WHERE option_name = ‘active_plugins’;

после чего войти в административную панель, удалить проблемный плагин, а потом включить всё обратно.

 

Отключаем функцию комментирования у старых записей

Если по какой-либо причине возникнет необходимость отключить возможность оставлять комментарии к старым записям, выполните этот SQL-запрос:

UPDATE wp_posts SET comment_status = ‘closed’ WHERE post_date < ‘2011-01-01’ AND post_status = ‘publish’;

 

Управляем комментариями

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

UPDATE wp_posts SET comment_status = ‘open’;

Закрываем возможность комментирования для всех статей сразу:

UPDATE wp_posts SET comment_status = ‘closed’;

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

UPDATE wp_posts SET comment_status = ‘registered_only’;

 

Удаление дубликатов записей в WordPress

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

Итак, приведу пример SQL запроса для удаления копий ваших записей из базы wordpress.

DELETE t1 FROM `wp_posts` AS t1,`wp_posts` AS t2 
WHERE t1.`post_content`=t2.`post_content` AND t1.ID>t2.ID

Данная транзакция удаляет копии постов опубликованные после уже имеющихся. Удалить что-то ненужное не получится, т.к. записи сравниваются именно по содержанию (поле post_content).

 

теги:

sql запросы примеры
wordpress sql
sql запрос wordpress
wordpress sql server
wordpress sql injection
sql инъекция wordpress
смена домена wordpress sql
wordpress и ms sql
база wordpress
sql запрос

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

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