如何在WordPress中设置动态`home`和`siteurl`?

Alf*_*ang 11 php wordpress hook

我使用locale过滤器动态配置多语言设置.其中获取子域名以确定语言.

function load_custom_language($locale) {
    // get the locale code according to the sub-domain name.
    // en.mysite.com => return `en`
    // zh.mysite.com => return `zh_CN`
    // tw.mysite.com => return `zh_TW`
    // etc..
}
add_filter('locale', 'load_custom_language');
Run Code Online (Sandbox Code Playgroud)

这适用于索引页,但是当我重定向,因为的设置到另一个页面,home并且siteurl,它总是我的网站重定向到原来的(www.mysite.com).

所以我很想找到一种动态的方法来过滤homesiteurl根据请求,因为我可能会为mysite使用多个子域,并且我只有一个设置用于这两个设置.

Ste*_*eve 14

您可以覆盖wp-config.php文件中的管理设置.因此,如果您想要动态的东西,以下应该有效:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
Run Code Online (Sandbox Code Playgroud)

这需要在行之前添加

require_once(ABSPATH . 'wp-settings.php');
Run Code Online (Sandbox Code Playgroud)

否则,您可能会遇到使用错误网址的某些内容的问题,尤其是主题文件.