Intereting Posts
Код, чтобы сделать сообщение липким Проблема с wp_create_category Скрыть div для подписчиков (роль пользователя) на одной странице (is_page) не может использовать метод page_test для проверки разбивки на страницы Стилей очереди через функцию wp_enqueue_style vs тег ссылки внутри header.php Как можно использовать woocommerce в папке mu-plugins? Домашняя страница категории / таксономии WordPress .htaccess игнорировать путь и последующие файлы .htaccess в подпапках Как избежать конфликтов имен плагинов с уведомлением об обновлении? Отображение формы для фильтрации в листинге пользовательского типа Добавить класс идентификатора страницы в пункты меню навигации WordPress разбился во время обновления Изменения шаблона темы исчезают при изменении страницы сохранение данных типа персонализированного сообщения в другую таблицу в wordpress Показать комментарий WordPress славное имя

Как изменить сетевой домен WordPress

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

В моем scanario «домашний» сайт в сети – это простая страница, в которой перечислены все другие активные в данный момент сайты, но network_site_url({blog path}) возвращает ссылку на сайт в старом домене.

network_site_url() использует get_current_site() для возврата объекта, относящегося к текущему сайту, и именно этот объект неправильно get_current_site() domain .

 function get_current_site() { global $current_site; return $current_site; } 

Невзирая на мои усилия, я не мог найти, где объявлен глобальный $current_site .

Solutions Collecting From Web of "Как изменить сетевой домен WordPress"

База данных

Первоначально вы должны обновить все ссылки на свой старый домен в базе данных. Следующий SQL позаботится об этом, но сначала прочитайте эти примечания –

  • Этот SQL предполагает, что вы используете wp_ таблицы wp_ по умолчанию. Просто измените это на выбранный префикс таблицы, если вы его изменили.
  • Замените database_name именем базы данных, используемой WordPress.
  • Замените www.old-domain.com имя домена, из которого вы уходите .
  • Замените сайт www.new-domain.com на имя домена, к которому вы переезжаете .
  • Хотя это маловероятно, могут быть и другие ссылки на старый домен (например, в wp_postmeta ). Чтобы проверить, в PHPMyAdmin вы должны выбрать базу данных, нажмите « Поиск» и найдите любые ссылки на %www.old-domain.com% во всех таблицах, а затем вручную обновите их по мере необходимости.

Важно. В приведенном ниже примере будут только обновляться ссылки на старый домен для основного сайта и первого дочернего сайта. Если у вас больше сайтов, вам нужно будет скопировать код для параметров UPDATE wp_*_options... и UPDATE wp_*_posts , где * – это идентификатор сайта.

 USE `database_name`; UPDATE `wp_options` AS `o1` SET `o1`.`option_value` = REPLACE(`o1`.`option_value`, 'www.old-domain.com', 'www.new-domain.com') WHERE `o1`.`option_name` IN ( 'siteurl', 'home' ); UPDATE `wp_options` AS `o2` SET `o2`.`option_value` = REPLACE(`o2`.`option_value`, 'www.old-domain.com', 'www.new-domain.com') WHERE `o2`.`option_name` IN ( 'siteurl', 'home' ); UPDATE `wp_posts` AS `p1` SET `p1`.`guid` = REPLACE(`p1`.`guid`, 'www.old-domain.com', 'www.new-domain.com'); UPDATE `wp_2_posts` AS `p2` SET `p2`.`guid` = REPLACE(`p2`.`guid`, 'www.old-domain.com', 'www.new-domain.com'); UPDATE `wp_blogs` AS `b` SET `b`.`domain` = REPLACE(`b`.`domain`, 'www.old-domain.com', 'www.new-domain.com'); UPDATE `wp_site` AS `s` SET `s`.`domain` = REPLACE(`s`.`domain`, 'www.old-domain.com', 'www.new-domain.com'); UPDATE `wp_sitemeta` AS `sm` SET `sm`.`meta_value` = REPLACE(`sm`.`meta_value`, 'www.old-domain.com', 'www.new-domain.com'); UPDATE `wp_usermeta` AS `um` SET `um`.`meta_value` = REPLACE(`um`.`meta_value`, 'www.old-domain.com', 'www.new-domain.com'); 

Важный бит, который я пропустил

При сетевой установке константа DOMAIN_CURRENT_SITE объявляется в wp-config.php . Просто откройте этот файл и обновите значение этой константы в новом домене, и вам должно быть хорошо идти.


Еще одно соображение

В некоторых случаях WP_HOME и WP_SITEURL могут быть объявлены в wp-config.php , и это, конечно, переопределит любые записи в базе данных. Я бы предложил искать файл для этих записей на всякий случай, и если они присутствуют, я рекомендовал удалить их (или, по крайней мере, прокомментировать их), так как гораздо лучше использовать записи в базе данных.

 define('WP_HOME', 'http://www.old-domain.com'); define('WP_SITEURL', 'http://www.old-domain.com');