Wordpress: Полезные SQL запросы

(Ответов: 6, Просмотров: 1320)
  1. Мастер Аватар для reset
    • Регистрация: 20.01.2010
    • Сообщений: 452
    • Репутация: 78
    В этом теме я предлагаю делиться полезными SQL запросами, т.к. админка Wordpress'а, является по сути лишь панелью управления базой данных движка. Практически вся информация сайта хранится в БД и порой чтобы изменить ту или иную информацию нужно помучится, например, чтобы закрыть комментарии у всех записей придется провозится немало времени, а если таких записей около 5000, то сделать это через админку вообще мало реально и отважатся на такое только психи, которые не знают, что подобные вещи можно сделать используя SQL запросы, примеры которых вы увидите ниже.

    Перед выполнением запросов не ленитесь делать бэкапы БД

    Смена пароля

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

    Код:
    UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin'
    Если вдруг вы забыли логин, но точно помните, что вы были первым юзером на блоге, а значит ваш ID равен 1, то можно идентифицировать юзера для смены пароля по ID (WHERE ID=1):

    Код:
    wp_users SET user_pass = MD5('newpass') WHERE ID=1;
    Смена логина

    По умолчанию в WordPress логин создается 1 раз и в дальнейшем его невозможно изменить. Это не совсем так. Логин можно поменять, используя такой SQL запрос:

    Код:
    wp_users SET user_login='boss' WHERE user_login='admin'
    Здесь мы меняем логин на boss у пользователя, логин которого был равен admin.

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

    Код:
    wp_posts SET comment_status = 'closed'
    Открыть комментарии для всех записей

    Код:
    wp_posts SET comment_status = 'open'
    Комментирование только для зарегистрированных пользователей

    Код:
    wp_posts SET comment_status = 'registered_only'
    Удаление спам комментариев

    Некоторые антиспам плагины, пропускают все комменты, но подозрительные помечают как спам, чтобы, если это не так, потом можно было одобрить комментарий. Например, так делает всем известный Akismet. Если спам комментов собралось большое множество, то чистить весь этот мусор руками никак не идет в сравнение с использованием такого простого SQL запроса:

    Код:
    FROM wp_comments WHERE comment_approved = 'spam'
    Удаляем все не одобренные комментарии, используйте:

    Код:
    FROM wp_comments WHERE comment_approved = 0
    Если есть вопросы по поводу SQL запросов, не стесняйтесь, задавайте их в этом топике, а я постараюсь добавлять новые хаки.

    ---------- Сообщение добавлено 19:14 ---------- Предыдущее 19:09 ----------

    Закрываем возможность принимать пинги

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

    Код:
    wp_posts p SET p.ping_status = 'closed'
    Открыть возможность принимать пинги

    Код:
    wp_posts p SET p.ping_status = 'open'
    Удаляем все уведомления

    Уведомления — это те же пинги — это такие "комментарии", которые оповещают вас о том, что Вася Пупкин сослался на вас. Если вы решили что такие горе-комментарии вам не нужны, их можно удалить оптом, используя такой SQL запрос:

    Код:
    FROM wp_comments WHERE comment_type = 'pingback';
    Замена любого текста в записях

    Можно заменить текст в постах и сделать это прямо в БД. Например можно добавить атрибут target="blank" ко всем ссылкам с атрибутом rel="nofollow":

    Код:
    UPDATE wp_posts
    SET post_content = REPLACE (post_content, 'rel="nofollow"', 'target="blank" rel="nofollow"')
    Еще можно проставить внутренние ссылки с определенным анкором, например, из слова "WordPress" сделать ссылку на какую-нибудь релевантную страницу, чтобы поднять её значимость. В прочем, для этого существуют специальные плагины, которые не трогают текст в БД, а создают ссылки на лету:

    Код:
    UPDATE wp_posts
    SET post_content = REPLACE (post_content, ' WordPress ', ' <a href="http://site.ru/статья-о-wordpress">WordPress</a> ')
    Деактивация всех плагинов

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

    Код:
    wp_options SET option_value = '' WHERE option_name = 'active_plugins'
    Услуги по Wordpress. Профессионально.
    • 6

    Спасибо сказали:

    akrustam(17.12.2012), chirkofff(17.12.2012), fizmatik(17.12.2012), kcjbar(18.12.2012), Logan(19.12.2012), Orcstation(18.12.2012), seowp(17.12.2012),
  2. Гуру Аватар для Shred
    • Регистрация: 30.09.2011
    • Сообщений: 766
    • Репутация: 66
    • Webmoney BL: ?
    а есть запрос что бы получить имя темы?

    посмотреть её не могу т.к. есть только бекап, который можно развернуть, а какая там тема использовалась уже не помню
    • 0
  3. Студент Аватар для Красавчег
    • Регистрация: 02.07.2010
    • Сообщений: 97
    • Репутация: 196
    Цитата Сообщение от Shred Посмотреть сообщение
    получить имя темы
    Просто бэкап в текстовом редакторе откройте и через Ctrl+F найти:

    Код HTML:
    'template', '
    далее будет название установленой темы.
    • 1

    Спасибо сказали:

    Shred(18.12.2012),
  4. Дипломник Аватар для evilmolen
    • Регистрация: 22.11.2012
    • Сообщений: 243
    • Репутация: 43
    Кхмм,
    reset, копипаста старая уже, начиная с первых строк несоответствия
    MD5('newpass')
    WP уже давно не использует простое md5 шифрование паролей, перед апдейтом пароля надо вызывать phpass.
    • -1
  5. Студент Аватар для dvf2000
    • Регистрация: 17.12.2012
    • Сообщений: 42
    • Репутация: 3
    А где вводить эти SQL-запросы ?
    • 0
  6. Дипломник Аватар для chudikos
    • Регистрация: 09.04.2012
    • Сообщений: 217
    • Репутация: 49
    dvf2000, в phpMyAdmin.
    • 1

    Спасибо сказали:

    dvf2000(19.12.2012),
  7. Дипломник Аватар для evilmolen
    • Регистрация: 22.11.2012
    • Сообщений: 243
    • Репутация: 43
    Вот я абсолютно не понимаю, зачем просто так минусить постера, даже не обьясняя причину, по которой это делается.

    Специально для несогласных:

    Код:
    require_once( './wp-includes/class-phpass.php' ); 
    $wp_hasher = new PasswordHash(8, true);
    $wp_hasher->HashPassword($newpass);
    И лишь выхлоп функции HashPassword() стоит заносить в таблицу. md5 уже давно устарел, а такая система шифрования в разы безопаснее.
    • 0

    Спасибо сказали:

    bredbaraded(20.12.2012),

Похожие темы

Темы Раздел Ответов Последний пост
Полезные Плагины для Wordpress. Поиск плагинов
Блоги 157 08.12.2020 06:55
WordPress: работа с изображениями/миниатюрами. Полезные плагины новичкам WP
WordPress 4 20.11.2012 01:18
Полезные и необычные плагины для Wordpress
Дайджест блогосферы 0 09.06.2011 22:30
Полезные хаки комментариев для WordPress. Часть 2
Дайджест блогосферы 2 09.03.2010 13:59
3 полезные статьи про wordpress для новичков и не только
Дайджест блогосферы 0 02.03.2010 01:39

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры