Часто перед владельцем блога на WordPress’е возникает задача изменить во всех постах блога один набор символов (“слово”) на другой.

На самом деле такая задача может возникнуть у блогера, ведущего блог на любой платформе, но я люблю WordPress за то, что на WordPress’е подобную замену можно выполнить с помощью только одной SQL-команды.

Для начала приведу пример, когда это может понадобиться:
1) После миграции блога с платформы Blogger на WordPress пришлось во всех постах изменить группу символов переноса строки с <br /> на <br/> (вроде и так и так правильно, но первый случай не срабатывал).
2) Если вы переносили блог с Blogger’а на WordPress (и при этом на Blogger’е у вас было доменное имя третьего уровня т.е. moiblog.blogspot.com) возможно вам захочется поменять все внутренние ссылки с http://moiblog.blogspot.com на http://moi-wp-blog.ru
3) А возможно вы по каким-то причинам сменили политическую ориентацию и теперь во всех постах хотели бы “перекраситься” (как я уже говорила поменять черное на белое).
Задание читателям: придумайте еще в каких случаях было бы удобно сделать подобную замену во всех постах.

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

Замена была сделана с помощью единственной SQL-команды, но перед этим:
1) Я нашла имя базы данных, которая обслуживала этот блог. Как найти?
2) Сделала резервную копию таблицы wp-posts. Как сделать? (Напишу в следующем посте)
3) В найденной на шаге 1) Базе Данных, в перед тем экспортированной на шаге 2) на домашний компьютер таблице wp-posts я сделала на SQL следующую операцию.

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘Джоржия’, ‘Джорджия’);

Смотрим на картинку:

MySQL: Изменяем все вхождения во всех постах слова черное на белое.


А вот результат выполнения SQL-запроса.

MySQL: замена во всех постах произведена.


Итого, замена была произведена в 45 записях, немного многовато если учесть, что про “Джоржию” я упоминала в постах 10 не более, но пугаться не следует, так как по умолчанию (если вы их не удалите) WordPress хранит все варианты всех ваших постов. Поэтому 45 записей, где упоминалась Джорджия, в файле wp-posts – это нормально.

Потом я подумала и решила, что надо поменять не только все вхождения слова Джоржия, но и все склонения её имени в постах… для этого я выполнила такой запрос:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘Джорж’, ‘Джордж’);

а потом я поменяла написание её имени и в заголовках постов:

UPDATE wp_posts SET post_title = REPLACE (post_title, ‘Джорж’, ‘Джордж’);

Изменяем слова в WP.Задание читателям написать SQL-запрос меняющий во всех постах слово черное на белое.

Девочка на картинке уже приготовилась :).

Всегда ваша Света на WordPress’е!

10 thoughts on “WordPress: Как исправить слово во всех постах… или перекрашиваем черное в белое.”
  1. Можно поменять скопом орфографическую ошибку. Вот я бы в твоем блоггерском блоге поменяла слово панелЯ на слово панелЬ. 🙂

    1. Точно, Леночка! … вот только поменять скопом в Blogger’е (я ведь очень честная и если пишу блог о Blogger’е, то и веду его на Blogger’е) не удастся … нет у них там такой возможности…

      А с панелью я доинтересничалась сначала было забавно немного перевирать слово, а сейчас смотрю а у меня написано “на панеле” (панелЯ – 1склонение, я панель – 3е). Стыдно! Может быть исправлю, но навряд ли … уж больно много текста придется руками перелопатить ;).

  2. Полезная информация, спасибо! Я, когда переносила свой китайский блог с блоггера на вордпресс, этих тонкостей не знала, поэтому все делала вручную. Правда, заодно подредактировала старые статьи – почему-то при переносе вылезли всякие косяки в формлении постов.

  3. как все просто , а я думал что на это надо потратить полвечера спасибо за пост

  4. Здорово вы мне помогли. Честное слово, новыми красками все заиграло. Я понял теперь, как на самом деле все круто. Автор, низко кланяюсь )))

  5. Спасибо, искал запрос этот. Только хочу добавить, что иногда кавычки при копировании заменяются на другие, в результате mysql не понимает чего от него хотят и выдает ошибку

    1. Вам спасибо, Paul!

      Это я сменила шаблон, а исправить в новом красивые кавычки на прямые забыла : (
      Уже исправила, напишу пост об этом ; )
      Света

  6. При замене плагина увеличения картинок Viva на PrettyPhoto Zoom пришлось бы лопатить весь блог и в коде всех картинок, которые подобным образом увеличиваются вручную изменять код ‘class=”highslide” onclick=”return vz.expand(this)” ‘ на ‘rel=”prettyPhoto-img” ‘. Данная автозамена позволила сделать эту многочасовую задачу за одну минуту!

  7. Спасибо, то, что нужно. Добавлю еще, что регистр имеет значение. Обычное слово надо заменять два раза: с маленькой буквы и с большой.

Leave a Reply

Your email address will not be published. Required fields are marked *