Поддержка Проблемы и решения get_permalink и смена адреса

  • Всем привет.

    Столкнулся с такой вот проблемой. Был когда то сайт на (как пример для понимания возьму) такой: https://www.site.com

    В последствии его сменили на https://site.com

    И теперь обращения в стиле get_permalink() все равно выдает в стиле https://www.site.com

    что делал:

    В wp_config.php изменил на:

    define( ‘WP_SITEURL’, ‘http://site.com/’ );

    В админке: Настройки сайтаОбщиеАдрес сайта (URL) поменял на http://site.com/

    Через Sql-запросы в таком духе поменял пути

      UPDATE wp_options SET option_value = replace(option_value, ‘http://www.site.com’, ‘http://site.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
    UPDATE wp_posts SET guid = replace(guid, ‘http://www.site.com’,’http://site.com’);
    UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.site.com’, ‘http://site.com’);

    И все равно выдает через www и из за этого есть проблемы при загрузке некоторых вещей на сайте. Конкретно проверил что выдает get_permalink() и это именно http://www.site.com

    Подскажите пожалуйста, у кого какие еще есть идеи как это решить?

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Воспользуйтесь плагином Better Search Replace и проверьте все ли поля в базе данных изменились с http://www.site.com на новый домен site.com. И при необходимости внесите изменения.

    Далее можно почистить кэш не только браузера но и на самом сайте если установлен плагин кэширования.

    Сообщайте.

    Спасибо, попробую и отпишусь. 🙂

    Не помогло.

    Стянул на локалку сайт и БД (что б рабочий сайт не сломать вдруг чего..). Поставил плагин на локальной версии. Задал менять (в данн,ом примере) https://www.site.com на https://site.com, и поставил все галочки. Выбрал все таблицы. В итоге не увидел что бы в таблицах что то поменялось. После посмотрел в каких таблицах встречаются ссылки на сайт и через sql запросы поменял их. В итоге ничего не изменилось.. ковыряюсь дальше пока..

    Решил вопрос.

    Исходно по таблице wp_options был такой запрос

    UPDATE wp_options SET option_value = REPLACE(option_value, ‘https://www.site.com’, ‘https://site.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

    а он за счет условия where не все строки что нужно менял. Запрос ниже:

    UPDATE wp_options SET option_value = REPLACE(option_value, ‘https://www.site.com’, ‘https://site.com’) WHERE option_value LIKE ‘%https://www.site.com%’;

    прошел всю таблицу и теперь вопрос решен.

    Поздравляю. Может кому еще пригодится.

    Модератор Yuri

    (@yube)

    Ага, пригодится, если захочется переломать сериализованные данные и тем самым снести к черту настройки Темы и/или плагинов.

    А вот плагин Better Search Replace делает замену корректно в 99.9% случаев. Но только если галочки ставить не все, а только те, которые надо 😉

    Я сначала пробовал по умолчанию то что предлагал плагин, но почему то результата не было.

    Посмотрел таблицы БД и не увидел изменений. Потом поставил для интереса все галочки, и почему то тоже не было результата. Вроде вариантов не много там по настройкам.. однако ж..

    Плюс я на локальной копии пробовал и сделал backup на рабочем сайте перед изменениями, если что за мин все верну как было.

    Опять же я менял базовый адрес как подстроку, а не целиком весь url и если было условно говоря https://www.site.com/contacts то после моих изменений подобного плана ссылки изменятся только на https://site.com/contacts

    Модератор Yuri

    (@yube)

    Потом поставил для интереса все галочки

    Одна из которых «холостой прогон» (dry run). И благодаря ей плагин ничего не поменял, а только показал, где есть искомое.

    Ага, пригодится

    Ещё как пригодится. Придет понимание что надо читать мануал.

    А еще что ни когда не надо опускать руки.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «get_permalink и смена адреса» закрыта для новых ответов.