如何在wordpress中将绝对URL更改为相对 - >分页 - >以前\ next_posts_link?

时间:2011-11-23 08:34:25

标签: php wordpress url pagination relative

我有: <?php previous_posts_link(' '); ?> - &gt; <a href="http://site.com/path"> </a> 我需要: <?php previous_posts_link(' '); ?> - &gt; <a href="/path"> </a>

谢谢!

1 个答案:

答案 0 :(得分:3)

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;
});

或者,您可以通过使用输出缓冲区捕获整个页面输出并根据缓冲区内的需要更改链接。 DOMDocumentDOMXPath在这里很有帮助。另一个有用的库是Net_URL2,有用的函数是parse_urlhttp_build_url