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

 3 апреля 2016      
 MySQL / WordPress / Вебмастеру      
 Метки:        
 Комментариев еще нет

Когда ваш сайт (блог) перевалил за сотню страниц, замена однотипных данных в записях может вызвать большую проблему. Я долгое время на своем блоге использовал теги 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/

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

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

Нажимая кнопку "Отправить" я даю свое согласие на обработку введенной мной персональной информации в соответствии с Федеральным Законом от 27.07.2006 №152-ФЗ "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

Технический блог © 2017
SQL - 50 | 0,202 сек. | 11.29 МБ
Политика конфиденциальности