mrtsherman
  • 0
Учитель

Относительные, а не абсолютные ссылки на страницах?

  • 0

У меня есть свой блог под blog.mydomain.com . Я использую страницы для некоторого статического контента, к которому нужно получить доступ из другого субдомена. Так careers.mydomain.com будет отображаться контент WordPress из blog.mydomain.com/careers .

Моя проблема в том, что все ссылки на странице по-прежнему ссылаются на blog.mydomain.com . Есть ли способ попросить WordPress использовать относительные ссылки? Или способ изменить baseURL для страниц?

Share
  1. wordpress.org/extend/plugins/wordpress-subdomains Там есть (устаревший) плагин. Может хоть код поможет, если не работает…..

    • 0
  2. Существует фильтр, post_link через который проходят постоянные ссылки, прежде чем вернуться get_permalink из wp-includes/link-template.php . Вы можете использовать этот фильтр для изменения ссылок.

    Однако имейте в виду, что создание относительных постоянных ссылок может иметь непредвиденные последствия в определенных контекстах, например, вам могут не понадобиться относительные ссылки, когда is_feed() == true .

    Вы можете обнаружить, что post_link фильтр не улавливает все URL-адреса, которые вам нужно изменить. В этом случае вы можете попробовать home_url фильтр, который имеет гораздо более широкий эффект.

    Другая возможность (моя любимая) — использовать буферизацию вывода для релятивизации ссылок. (Пример внизу.)

    В целях безопасности вы можете менять ссылки только в случае необходимости. Я не знаю, как вы получаете контент из настоящего блога в статический поддомен, но если вы используете HTTP-запросы, вы можете добавить аргумент запроса: ?rlz и затем найти его в своей теме/плагине.

    if ( isset($_GET['rlz']) ) {
        function my_ob_handler($HTML) {
            return str_replace( home_url('/'), '/', $HTML );
        }
        ob_start( 'my_ob_handler' );
    }
    
    • 0

Оставить ответ

You must login to add an answer.