У меня есть свой блог под blog.mydomain.com
. Я использую страницы для некоторого статического контента, к которому нужно получить доступ из другого субдомена. Так careers.mydomain.com
будет отображаться контент WordPress из blog.mydomain.com/careers
.
Моя проблема в том, что все ссылки на странице по-прежнему ссылаются на blog.mydomain.com
. Есть ли способ попросить WordPress использовать относительные ссылки? Или способ изменить baseURL для страниц?
wordpress.org/extend/plugins/wordpress-subdomains Там есть (устаревший) плагин. Может хоть код поможет, если не работает…..
У вас есть прокси-модуль на вашем веб-сервере? Я знаю решение, если оно у вас есть.
@cadeyrn У нас есть собственный сервер, чтобы при необходимости можно было установить прокси-модуль.
Я не могу проверить это, потому что мы пошли в другом направлении с блогом. Я использовал решение отсюда в сочетании только с одним поддоменом. wordpress.stackexchange.com/questions/13411/…
Существует фильтр,
post_link
через который проходят постоянные ссылки, прежде чем вернутьсяget_permalink
изwp-includes/link-template.php
. Вы можете использовать этот фильтр для изменения ссылок.Однако имейте в виду, что создание относительных постоянных ссылок может иметь непредвиденные последствия в определенных контекстах, например, вам могут не понадобиться относительные ссылки, когда
is_feed() == true
.Вы можете обнаружить, что
post_link
фильтр не улавливает все URL-адреса, которые вам нужно изменить. В этом случае вы можете попробоватьhome_url
фильтр, который имеет гораздо более широкий эффект.Другая возможность (моя любимая) — использовать буферизацию вывода для релятивизации ссылок. (Пример внизу.)
В целях безопасности вы можете менять ссылки только в случае необходимости. Я не знаю, как вы получаете контент из настоящего блога в статический поддомен, но если вы используете HTTP-запросы, вы можете добавить аргумент запроса:
?rlz
и затем найти его в своей теме/плагине.