Intereting Posts
Проблема с Loop – хочу ограничить доступ к трем бесплатным статьям У меня есть функции в моем плагине wordpress. Как заставить их работать на меня? Показывать только детей категории верхнего уровня Установить изображение функции Custom Post как og: image Как WordPress обрабатывает постоянные ссылки? Проблема с WordPress после обновления Объединение медиа-запросов с размерами изображений Были ли языковые переключатели удалены из WP недавно? Как изменить атрибут title, возвращаемый comments_popup_link ()? Как определить, изменяет ли пользователь пароль? Показать сообщения с пустым пользовательским полем Заблокировано / Разблокировано в заголовке Почему я получаю различную визуализацию при запуске веб-сайта на моем локальном компьютере и на удаленном сервере? Отображение только будущих записей в архиве на основе пользовательской даты поля Официальная документация для полей формы вложения

Какой SQL-запрос выполняет простой поиск и замена

Всякий раз, когда я создаю новый веб-сайт, я сначала создаю промежуточный сайт в подобласти, например «stage.domain-name.com».

После того, как все работает правильно, я экспортирую базу данных, откройте ее в блокноте ++ и сделайте find / replace для «subdomain.domain-name.com» и замените ее на «domainnamename» … наконец, я импортирую ее в новую база данных для живого сайта.

Мой вопрос: какой SQL-запрос мне нужно выполнить, если я просто хочу сделать это простое нахождение / замену во всей базе данных с помощью phpmyadmin?

-СН

Solutions Collecting From Web of "Какой SQL-запрос выполняет простой поиск и замена"

Таблица, в которой сохранен ваш URL-адрес, – wp_options. Вы должны сделать обновление в столбцах, в которых используется URL-адрес вашего сайта:

UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "siteurl" UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "home" 

Возможно, мне не хватает значения, но всякий раз, когда вы снова выполняете этот процесс поиска / замены, вы можете заметить значения и таблицы, которые необходимо обновить, и добавить их в этот скрипт.

В WordPress Codex есть хорошее руководство по изменению URL-адреса сайта, возможно, это даже удобнее для вас: изменение URL-адреса сайта

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

 UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); 

Также см. Поиск данных с помощью phpMyAdmin и MySQL | Packt Publishing. И Search RegEx – хороший плагин WP, который позволяет искать и заменять Grep через все сообщения и страницы.

Обновление 6/16/2015: использование инструмента, связанного в следующем предложении, намного лучше, поскольку простая находка / замена, как указано выше, в дампе базы данных приведет к поломке сериализованных данных. См. Interconnectit.com WordPress Serialized PHP Search Replace Tool. Таким образом, вы не разбиваете сериализованные данные и не должны запускать RegEx на постсодержание, так как скрипт межсетевого обмена везде меняет URL-адреса. Я все время использую этот инструмент для переноса сайтов в разные домены или просто делаю глобальное изменение с http на https, чтобы принудительно использовать SSL без плагинов и изменять все URL-адреса в контенте, чтобы предотвратить небезопасные ошибки элемента.

Это отличный скрипт, который я использую, и он прекрасно работает с сериализованными массивами, которые WP использует для хранения опций. Просто убедитесь, что удалите его с удаленного сервера, когда вы закончите, потому что это ОГРОМНЫЙ риск для безопасности.

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

вам не нужно это делать, вы можете использовать относительные пути.

когда вы связываете что-то вместо subdomain.soemthing.com/image.jpg – используйте /image.jpg например

как это, вы не столкнетесь с проблемой в первую очередь.

в противном случае для оператора обновления mysql вы можете использовать

 update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string'); 

Чтобы изменить домен wordpress, что нам часто нужно, может быть, чтобы сайт работал с localhost: это полный список запросов обновления:

 UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_url = replace(link_url, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_image = replace(link_image, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); /*UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl' OR option_name = 'widget_text' OR option_name = 'dashboard_widget_options';*/ UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com'); 
  • Мы также должны добавить другие таблицы, которые не являются стандартными с WP, если это необходимо.

UPDATE: Search Replace DB version 3.1.0 – это удобный для пользователей интерфейс для разработчиков, который позволяет выполнять широкомасштабные операции поиска / замены базы данных, которые не наносят ущерба чередованию строк или объектов PHP.

Для этого я использую WP-CLI, потому что считаю его самым легким и заботится о сериализованных данных.

wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid

Существует также опция, которая записывает ваши изменения в файл SQL вместо того, чтобы манипулировать фактической базой данных:

wp search-replace foo bar --export=database.sql

На самом деле вам не нужно использовать SQL-запрос только некоторые настройки в файле wp_config и functions.php в вашей теме. Посмотрите эту тему в WordPress Codex: https://codex.wordpress.org/Changing_The_Site_URL