Intereting Posts
Предельный цикл для будущих событий Использование tax_query создает 1 = 0 или 1 = 1 в запросе $ wp_query-> Как изменить получателей и контент для комментариев по электронной почте для комментариев в настраиваемом типе сообщений? Включение в действие init будет срабатывать слишком часто? Простой php в widget WordPress Фильтр taxonomy_template не загружает шаблон пользовательской таксономии Плагин библиотеки для WordPress Удаление основной ссылки на Jetpack из меню перенаправление на дочернюю тему на основе города интернет-пользователей во Франции с проверкой ip-адреса Могу ли я сделать роль пользователя, которая может получить доступ только к типу содержимого certian? Любые документы для аргумента wp_nav_menu "items_wrap"? Пусть редакторы просматривают сообщение в admin, но не могут выполнять сохранение / редактирование WooCommerce – хотите показать несколько валют для одного продукта Использование параметров формы в WordPress «Страница» Проблемы с шаблоном, получающие результаты поиска ajax

Как изменить сетевой домен 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');