Как я могу изменить абсолютный URL на относительный в WordPress -> Пагинация -> предыдущий \ next_posts_link? - PullRequest
0 голосов
/ 23 ноября 2011

у меня есть: <?php previous_posts_link(' '); ?> -> <a href="http://site.com/path"> </a> Я нуждаюсь: <?php previous_posts_link(' '); ?> -> <a href="/path"> </a>

Спасибо!

1 Ответ

3 голосов
/ 23 ноября 2011

Wordpress по умолчанию использует абсолютные URL.

Вы можете создать фильтр для get_pagenum_link и изменить ссылку:

add_filter('get_pagenum_link', function($url) {
    $base = 'http://site.com/';
    if (0 === strpos($url, $base)) {
        $url = '/'.substr($url, strlen($base));
    }
    return $url;
});

В качестве альтернативы вы можете, используя выходной буфер, перехватить весь вывод страниц и изменить ссылки в соответствии с вашими потребностями внутри буфера. DOMDocument и DOMXPath полезны здесь. Еще одна полезная библиотека - Net_URL2, полезные функции: parse_url и http_build_url.

...