it-swarm.xyz

Правильный поиск и замена запросов для изменения URL-адресов в базе данных WordPress?

Разработали сайт на производственной коробке с использованием временного адреса ( http: // IP-адрес ).

Теперь пришло время жить. Однажды, давным-давно, я успешно использовал phpMyAdmin и выполнил поиск/замену, но мне интересно, если это все еще "лучший" путь.

Будет ли это работать хорошо, все еще? Сайт находится в WordPress 3.0.1.

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";    
update wp_posts SET guid=replace(guid, 'OLD URL','NEW URL');
update wp_posts SET post_excerpt=replace(post_excerpt, 'OLD URL','NEW URL');
update wp_posts SET post_content=replace(post_content, 'OLD URL','NEW URL');    
update wp_postmeta SET meta_value=replace(meta_value, 'OLD URL','NEW URL');

Я прочитал несколько связанных постов здесь, но ни один с фактическими запросами.

Я подумал, что поиск и замена плагина звучит многообещающе, но единственная документация, которую я нашел, была на немецком языке, которую я не могу прочитать, поэтому я слишком осторожен, чтобы попробовать это.

И этот поток о переходе от разработки к производству содержит много информации, но:

  1. многое из этого над моей головой, и
  2. нет запросов в списке.

TYIA,

Майк

4
MikeK

Да, эти запросы все еще работают.

Это полное руководство: http://web-kreation.com/tutorials/migrating-a-wordpress-site-ftp-phpmyadmin-and-sql-queries/

1
sorich87

Этот вызовет некоторые проблемы:

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";

Это повредит любые активные данные виджета, которые хранятся в таблице параметров, потому что эта информация, скорее всего, сериализована, а запрос не учитывает сериализованные данные. Это было суть потока wp-хакеров. Однако никто в этом потоке, похоже, не придумал надежного запроса для обработки сериализованных данных.

Возможно, вы захотите просто изменить опции для 'siteurl' и 'home' в wp_options по отдельности, а затем изменить свои виджеты с панели инструментов.

3
goldenapples

Другие дали вам предложения по запросам SQL, которые вы просили, и я надеюсь, что изучение их поможет вам в этом процессе; Я знаю, что всегда помогаю мне учиться на один уровень ниже, где мне нужно работать.

Но вы также попросили лучший способ сделать это, и я хотел бы предложить вам взглянуть на публикацию, на которую вы ссылаетесь снова ( Переход от разработки к производству ), но на этот раз посмотрите на плагин я ссылаюсь на пост, плагин для исправления данных после перехода с одного сервера на другой. Вместо того, чтобы время от времени пачкать руки с SQL, вам придется переучиваться, почему бы не делегировать это плагину, который его обрабатывает?

Плагин является полностью подключаемым, поэтому, когда вам нужно перейти к SQL для обработки некоторых других данных, представленных одним из ваших других плагинов, вы можете расширить его и, таким образом, он может обрабатывать все, что нужно исправить, когда вы перейти от хоста к хосту. Вероятно, лучшая часть в том, что он дает вам место в /wp-config.php для перечисления всех деталей каждого хоста; то есть домены, корневые пути, базы данных, dbusers, пароли и даже такие вещи, как ключи Google Maps API, когда вам это нужно.

Плагин все еще находится в альфа-версии, поэтому он находится здесь в StackExchange и еще не указан в репозитории плагинов WordPress:

0
MikeSchinkel