Массовая замена текста в записях WordPress

Опубликовано: 3 апреля 2016 / Обновлено: 3 ноября 2016
Раздел(ы): MySQL, WordPress, Вебмастеру
Просмотры: 4668
Комментарии: 0

Когда ваш сайт (блог) перевалил за сотню страниц, замена однотипных данных в записях может вызвать большую проблему. Я долгое время на своем блоге использовал теги BBCode для оформления статей. С ними написание происходило значительно быстрее. Но когда я решил отказаться от их использования и привести все записи к чистому HTML коду, то понял, что редактирование 300 страниц сайта займет много времени.

Для всех сайтов, что используют базу данных MySQL для хранения информации, например WordPress, можно использовать стандартную SQL-функцию REPLACE для замены одних данных на другие. Например заменить адрес сайта в абсолютных ссылках для использования защищенного протокола с http://moonback.ru/ на https://moonback.ru/

MySQL запрос для замены текста в таблице

В общем случае команда запроса выглядит так:

UPDATE `таблица` SET `поле` = REPLACE(`поле`, 'текущее значение', 'новое значение');

Чтобы её выполнить необходимо подключиться к вашей базе данных с помощью PhpMyAdmin, для этого введите в адресной строке браузера адрес: domain.tld/phpmyadmin (вместо domain.tld подставьте адрес своего сайта).

Если у вас WordPress, то по-умолчанию искомая таблица с записями называется wp-posts:
Таблица с записями WordPress
А столбец ячеек с содержимым записей post_content.

Пример использования SQL запроса для замены BBCode

Применительно к WordPress, чтобы заменить в записях все теги BBCode для жирного текста на HTML эквивалент будем использовать следующий набор команд:

UPDATE `wp-posts` SET `post_content` = REPLACE(`post_content`, '[b]', '<strong>');
UPDATE `wp-posts` SET `post_content` = REPLACE(`post_content`, '[/b]', '</strong>');

Для этого нужно перейти на вкладку SQL:
Таблица с записями WordPress
И вставить в окне приведенный выше код, после чего нажать кнопку [Вперёд]

Благодарности

При написании статьи были использованы следующие источники:

  1. http://sitestroyblog.ru/mysql-replace/

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 6 | 0,138 сек. | 8.26 МБ