我正在为该领域下的一家德国非政府组织运营一个网站sub.example.org
.
最近,我补充道sub.example.ch
瑞士分拆。
两个(子)域都指向相同的物理位置,即一个WP安装(不是多站点)。
我将其设置为sub.example.ch/register
, 例如,将正确显示在下找到的内容sub.example.org/register
.
然而,当瑞士访问者使用常规的网站链接浏览网站时,他或她将不可避免地进入“常规”域,因为那些人使用常规设置中定义的“WordPress地址”(或“网站地址”),通过get_home_url
或get_site_url()
(或其深度较低get_bloginfo()
等价物)。
理想情况下,我希望访问者在他或她用来访问站点的域下继续浏览。因此,我想我必须以某种方式过滤上述函数的返回值。一个过滤器,据我所知,它并不存在。
有没有人有这方面的经验,有没有合适的解决方案?
这是不是一个愚蠢的想法,我应该先让它过去?
最合适的回答,由SO网友:fuxia 整理而成
您可以筛选主机的选项请求。
在您的wp-config.php
线下线…
require_once ABSPATH . \'wp-settings.php\';
…添加以下行:
add_filter( \'pre_option_home\', \'set_current_host\' );
add_filter( \'pre_option_siteurl\', \'set_current_host\' );
function set_current_host()
{
return \'http://\' . $_SERVER[\'HTTP_HOST\'];
}
add_filter()
之前不可用,您应该在
wp-config.php
. 我不知道是否有副作用或不起作用的情况。不应该发生,但要彻底测试。