как заменить имена хостов на определенных внешних ссылках?

Мне нужно заменить имена хостов на определенных внешних ссылках. Например, я хотел бы заменить исходящие ссылки на http://www.example.com/whwhat на http://staging.example.com/whwhat мой сайт.

Эти ссылки по всему сайту, контент, заголовок, нижний колонтитул, меню и т. д.

Я делал это с помощью универсального плагина нижнего колонтитула вставить следующий Javascript во все HTML-страницы моего сайта.

<script type="text/javascript">  jQuery(document).ready(function () {     jQuery("a[href^='http://www.example.com']").each(function() {       this.href = this.href.replace (           /^https:\/\/www.example.com/,          'http://staging.example.com');            });  });</script>

Это работает правильно. Но это мерзкий взлом.

У меня такой вопрос: есть ли лучший способ сделать это? Любой совет?

Ответы и комментарии:

Находятся ли ссылки в содержимом сообщения / страницы или распространяются по всему сайту (боковые панели, нижний колонтитул и т. Д.)?
Создан 24-05-2016 06:27 Luis Sanz

Вы можете попробовать поиск по базе данных и заменить скрипт в PHP-скрипте или любом из плагинов миграции WordPress, чтобы изменить нужные вам URL-адреса непосредственно в базе данных. Любое из них также изменит сериализованные значения.
Создан 25-05-2016 07:25 Max Yudin

Если ссылки идут из основных областей контента, вы можете создать ловушку, которая действует против этого вывода «контента». В вашем файле functions.php themes вы можете попробовать что-то вроде:
add_filter ('the_content', 'the_url_filter_function_name', 30);
function the_url_filter_function_name ($ content) {
    return str_replace ('bad-url.com', 'good-url.com', $ content);
}

Если URL-адреса, которые вы хотите изменить, хранятся и выводятся через различные механизмы, вы, вероятно, сможете найти для них хуки, которые также могут изменять их содержимое на лету. Абстрагирование этого во внешнюю конфигурацию является еще одним упражнением в использовании переменных конфигурации.
Создан 24-05-2016 06:52 BVRoc213