Часто перед владельцем блога на 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, ‘Джоржия’, ‘Джорджия’);
А вот результат выполнения SQL-запроса.
Итого, замена была произведена в 45 записях, немного многовато если учесть, что про “Джоржию” я упоминала в постах 10 не более, но пугаться не следует, так как по умолчанию (если вы их не удалите) WordPress хранит все варианты всех ваших постов. Поэтому 45 записей, где упоминалась Джорджия, в файле wp-posts – это нормально.
Потом я подумала и решила, что надо поменять не только все вхождения слова Джоржия, но и все склонения её имени в постах… для этого я выполнила такой запрос:
UPDATE wp_posts SET post_content = REPLACE (post_content, ‘Джорж’, ‘Джордж’);
а потом я поменяла написание её имени и в заголовках постов:
UPDATE wp_posts SET post_title = REPLACE (post_title, ‘Джорж’, ‘Джордж’);
Задание читателям написать SQL-запрос меняющий во всех постах слово черное на белое.
Девочка на картинке уже приготовилась :).
Всегда ваша Света на WordPress’е!
Можно поменять скопом орфографическую ошибку. Вот я бы в твоем блоггерском блоге поменяла слово панелЯ на слово панелЬ. 🙂
Точно, Леночка! … вот только поменять скопом в Blogger’е (я ведь очень честная и если пишу блог о Blogger’е, то и веду его на Blogger’е) не удастся … нет у них там такой возможности…
А с панелью я доинтересничалась сначала было забавно немного перевирать слово, а сейчас смотрю а у меня написано “на панеле” (панелЯ – 1склонение, я панель – 3е). Стыдно! Может быть исправлю, но навряд ли … уж больно много текста придется руками перелопатить ;).
Полезная информация, спасибо! Я, когда переносила свой китайский блог с блоггера на вордпресс, этих тонкостей не знала, поэтому все делала вручную. Правда, заодно подредактировала старые статьи – почему-то при переносе вылезли всякие косяки в формлении постов.
Пасиба)))) То, что я искал)))
как все просто , а я думал что на это надо потратить полвечера спасибо за пост
Здорово вы мне помогли. Честное слово, новыми красками все заиграло. Я понял теперь, как на самом деле все круто. Автор, низко кланяюсь )))
Спасибо, искал запрос этот. Только хочу добавить, что иногда кавычки при копировании заменяются на другие, в результате mysql не понимает чего от него хотят и выдает ошибку
Вам спасибо, Paul!
Это я сменила шаблон, а исправить в новом красивые кавычки на прямые забыла : (
Уже исправила, напишу пост об этом ; )
Света
При замене плагина увеличения картинок Viva на PrettyPhoto Zoom пришлось бы лопатить весь блог и в коде всех картинок, которые подобным образом увеличиваются вручную изменять код ‘class=”highslide” onclick=”return vz.expand(this)” ‘ на ‘rel=”prettyPhoto-img” ‘. Данная автозамена позволила сделать эту многочасовую задачу за одну минуту!
Спасибо, то, что нужно. Добавлю еще, что регистр имеет значение. Обычное слово надо заменять два раза: с маленькой буквы и с большой.