Замена слов в БД с помощью sql запроса типа Replace
Давайте представим вы заполнили свой сайт, есть более 100 страниц в базе данных Mysql, но по каким-то причинам в каждом тексте есть одна и та же ошибка.
update `название таблицы в бд` set `поле в таблице`=REPLACE(`поле таблицы`,'что заменяем','на что заменяем')
Вот такой не сложный sql запрос, который пробежится по всем строкам в таблице, и заменит негодное слово на новое.
Пример:
Предположим, что в базе данных mysql есть таблица wp_posts (WordPress), нам нужно заменить слово с ошибкой, которое находится в ячейке «post_content». В ячейке «post_content» хранится текст который был заполнен в админке Wordprress->записи или WordPress->Страницы, во время редактирования, или добавления нового материала на сайт.
Предположим что была допущена ошибка в слове «Черновик», и вместо него указали «Чернавик», т.е вместо буквы О вы написали А.
Как будет выглядеть sql запрос?
update `wp_posts` set `post_content`=REPLACE(`post_content`,"Чернавик","Черновик")
После выполнения данного запроса в phpmyadmin, скрипт уведомит о вас о проделанной работе, и покажет сколько строк было затронуто. В моём случае это всего одна запись с данной статьёй.
Так же можно написать скрипт, и подключить его в function.php
function ivacms_replace_text(){ global $wpdb; $wpdb->query("update `wp_posts` set `post_content`=REPLACE(`post_content`,'Чернавик','Черновик')"); } add_action('init','ivacms_replace_text');