我有我的博客 blog.mydomain.com. 。我正在使用页面来获取一些静态内容,这些内容需要从另一个子域中访问。所以 careers.mydomain.com 将显示WordPress的内容 blog.mydomain.com/careers.

我的问题是页面上的所有链接仍然参考 blog.mydomain.com. 。有没有办法要求WordPress使用相对链接?还是一种更改页面baseurl的方法?

有帮助吗?

解决方案

有一个过滤器, post_link, ,该固定链接在从 get_permalinkwp-includes/link-template.php. 。您可以使用该过滤器更改链接。

但是,请注意,将所有永久链接相对相对可能会在某些情况下产生意外后果,例如,您可能不需要相对链接 is_feed() == true.

您可能会发现 post_link 过滤器不会捕获您需要更改的所有URL。在这种情况下,您可以尝试 home_url 过滤器具有更广泛的效果。

另一种可能性(我最喜欢的)是使用输出缓冲来相对化链接。 (在底部举例。)

为了安全起见,您只能在必要时更改链接。我不知道您如何将内容从实际博客获取到静态子域,但是如果您使用的是HTTP请求,则可以添加查询ARG: ?rlz 然后在您的主题/插件中查找。

if ( isset($_GET['rlz']) ) {
    function my_ob_handler($HTML) {
        return str_replace( home_url('/'), '/', $HTML );
    }
    ob_start( 'my_ob_handler' );
}
许可以下: CC-BY-SA归因
scroll top