Полезные SQL запросы и хаки для wordpress блога
Не смотря на то, что система wordpress позволяет решать много различных задач, иногда возникает необходимость оперативного вмешательства для быстрого исправления конкретных проблем. В таких случаях лучше всего работать с базой данных напрямую. Все это осуществляет с помощью специальных SQL запросов, некоторые из которых сегодня предлагаю вам рассмотреть.
Во-первых, для начала пару слов о том, как же эти самые SQL запросы выполнять. Для этого вам понадобится популярная программа PhpMyAdmin – которая позволяет работать с базой данных в приятном графическом интерфейсе. На большинстве хостингов она установлена, поэтому переживать по этому поводу не стоит. Для тех, кто все равно не хочет использовать сторонние разработки, пусть даже очень распространенные и надежные, можно посоветовать найти какие-то плагины под WordPress, которые бы позволяли выполнять SQL запросы – например, SQL Executionner или похожие модули. Хотя, в принципе, тут нужно быть на 100% уверенным в плагине или все же воспользоваться стандартным инструментом PhpMyAdmin. В любом случае нужно быть очень аккуратным когда работаете с базой данных! А еще лучше предварительно сделать бэкап wordpress блога кстати делается в том же PhpMyAdmin – читаем статью. Ну, а теперь собственно полезные SQL запросы и хаки для wordpress.
Изменяем пароль блога
Некоторые думают, что с ними никогда такого не случится, но порой люди забывают пароль от своего блога либо просто теряют его. В таком случае мы можем создать новый прямо через обращение к базе данных MySQL database. Для этого используем следующий запрос, где, кстати, функция MD5() преобразовывает указанный нами новый пароль (user_pass) в зашифрованный формат MD5 hash.
UPDATE 'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;
Меняем автора поста wordpress
Многие новички в блоггинге используют в работе старый аккаунт «admin», что идет по умолчанию вместо создания нового с их настоящим именем. Кроме того это полезно для безопасности системы. В любом случае, после некоторого времени вы можете передать все написанные статьи от старого админка к новой учетной записи с помощью SQL запроса:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
Здесь вместо AUTHOR_ID вы должны подставить ID нового и старого аккаунтов. Кстати, видел в wordpress такую штуку, что при удалении аккаунта система спрашивает куда делать все его записи и при этом можно выбрать нового админа.
Удаляем ревизии постов и их мета данные
Ревизии для постов достаточно удобны, если вы ведете блог с несколькими авторами, однако при этом они создают слишком много записей в базе данных. Например, если у вас в блоге 100 статьей, для каждой из которых создается по 10 ревизий, то в итоге получится 1000 записей для таблицы wp_posts, где только 100 реально нужны. Выполнив следующий SQL запрос вы удалите все ревизии и мета данные (custom fields и т.п.), связанные с ними.
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);
Пакетное удаление спам комментариев
Представьте ситуацию, когда вы возвращаетесь из отпуска, где длительное время не было доступа в интернет. Если при этом вы не установили антиспам плагин Akismet, то в зависимости от популярности блога можете получить от 1000 до 10000 комментариев для модерации. Разгребать все это придется чуть ли не целый день, а можно просто удалить комментарии, которые не были апрувлены автоматически.
DELETE from wp_comments WHERE comment_approved = '0';
Тут, у автора, наверное установлена опция «пропускать» все комментарии у автора, который имеет предварительные апрувленные комментарии. В любом случае, нужно установить плагин Akismet.
Находим неиспользуемые теги
Теги записываются в таблицу базы данных wp_terms. Если по каким-то причинам тег был создан, но не используется, то он все равно хранится в таблице. Данный SQL запрос позволит найти теги из таблицы wp_terms, которые не используются в блоге и которые можно будет спокойно удалять.
SELECT * 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;
В принципе, много чего с метками можно сделать и через плагин simple tags. Вообще, как я и сказал вначале, система вордпресс позволяет решать многие задачи, но иногда намного быстрее все сделать простыми SQL запросами к базе данных. Хотя при этом нужно знать, что и как делать, а также не забывать про бэкапы БД.
P.S. Постовой. Поисковая оптимизация, раскрутка и продвижение сайтов в интернете для вас.
Вам интересен веб дизайн, фриланс или веб разработки? – Bolvar Блог.
Нас сайт подскажет где купить пальто в Киеве.
Комментариев - 10 к статье “Полезные SQL запросы и хаки для wordpress блога”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Плагин Lightbox Plus – улучшенный эффект для изображений
- Скрываем custom fields для не админов, функция remove_meta_box()
- Видеокурс WordPress Security по защите блога на WordPress
- Плагины смайликов в wordpress блоге
- Обновление WordPress подробно для начинающих
- Лишние ссылки с WordPress прочь
- Вставка PHP кода в WordPress через виджеты
- Безопасность (3)
- Видео (5)
- Возможности (53)
- Начинающим (16)
- Новости (19)
- Оптимизация (12)
- Плагины (61)
- Сервисы (10)
- Хаки и секреты (39)
- Шаблоны (13)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог






(6,08 из 7, голосов - 12) - Оптимизируем WordPress header и удаляем лишние элементы






(4,85 из 7, голосов - 13) - 17 полезных приемов и хаков для WordPress






(5,44 из 7, голосов - 9) - Изображения (миниатюры) для связных постов в Simple Tags






(4,70 из 7, голосов - 10) - Как добавить дополнительные кнопки в редактор WordPress






(5,25 из 7, голосов - 8) - Использование скрипта Lightbox 2 в WordPress блоге без плагина






(5,71 из 7, голосов - 7) - Вывод категорий для поста через функцию get_the_category






(4,50 из 7, голосов - 8)
- Seleckis.lv — Журнал Никиты Селецкого
- Блогинг в стиле web 2.0
- Достопримечательности Львова
- Про блоги для блоггеров
- WordpressPlugins.ru
- Более шестидесяти новых приложений для Timeline в Facebook
- Пользователям ICQ: в любимой программе теперь есть радио!
- Новостной украинский агрегатор Like.ua – что это?
- Foursquare представил миру возможность персонализированного поиска
- Google выставлено публичное обвинение в пиратстве
- Для Windows Phone 7 выпущен новый WebMoney Keeper Mobile
- Ноутбуки с 3D-чипами станут более производительными

Оцените статью:
Категории:
Теги:
Из раздела поста под названием «Удаляем ревизии постов и их метаданные» команда SQL глючная. Вот какую ошибку выдает – «ERROR 1109 (42S02): Unknown table ‘b’ in MULTI DELETE»
Правильная команда SQL для чистки БД от ревизий постов следующая – DELETE FROM wp_posts WHERE post_type=’revision’ (проверено на собственном блоге) :)
Очень полезно, особенно про автора блога, большое спасибо!
Самостоятельный Путешественник, странно, конечно, что не работает, но я признаться не пробовал – поэтому поверю. Там просто не только удаление ревизий, но еще всех их метаданных из других таблиц. Из-за этого она и получилась такая большая, если просто удалить ревизии, то действительно подойдет
DELETE FROM wp_posts WHERE post_type=’revision’
Пост полезный, но что бы описать все запросы,которые можно сорудить с бд блога – прийдется потратить много времени)
Полезная статья. Я бы все таки посоветовал использовать плагин WP-DBmanager. Он и сделает бэкап и оптимизирует и запрос выполнит )
Реально полезно. Взял на вооружение…
Так умно написано, а в комментах куча спама, вот например
micro 28.05.2010
Очень полезно, особенно про автора блога, большое спасибо!
Тут про автора блога ничего не сказано=))
установите akismet
Виктор, у меня установлен не только akismet:) Это «умные спамеры», ссылку от меня они вряд ли получат ибо нехорошо, да и еще пиарят всякую гадость…
Удалить спамерские комментарии можно и без обращения к базе данных. Рядом со списком этих самых комментариев, которые Akismet пометил как спам, есть флажок, который отвечает за выделение всех элементов в списке. После этого достаточно кликнуть по кнопке Очистить спам, и проблема решена малой кровью.