Override Wordpress theme url

时间:2013-09-17 作者:Balas

我有一个网站http://example.com, 但如果我将我的网站URL更改为http://example.co.ukhttp://examplesite.co.uk 这些都是相同的站点。

如果我更改了上述url中的任何内容,它应该覆盖主题url。

当前,它是从数据库值显示的。

我用过

define(\'WP_HOME\',    \'http://\' . $_SERVER[\'HTTP_HOST\'] );

define(\'WP_SITEURL\', \'http://\' . $_SERVER[\'HTTP_HOST\'] );

define( \'WP_CONTENT_URL\', \'http://\' . $_SERVER[\'HTTP_HOST\'].\'/\');
但对于主题(&A);插件url不工作,显示http://example.co.uk

我想成为http://example.com 如果用户键入相同的

3 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

在一篇评论中,我向你指出了一个我认为可以解决你问题的现有答案。

你回答了

谢谢你的回答。但它适用于bloginfo(“url”)&;不适用于bloginfo(\'template\\u url\')。有什么想法吗?

我给你指出的答案很容易适应:

在您的wp-config.php 文件,后(!)require_once ABSPATH . \'wp-settings.php\'; 执行以下操作:

function wpse114490_set_template_uri( $dir )
{
    if ( ! empty( $_SERVER[\'HTTP_HOST\'] ) ) {
        $domain = $_SERVER[\'HTTP_HOST\'];
        $dir = str_replace( \'example.com\', $domain, $dir );
    }
   return $dir;
}
add_filter( \'template_directory\', \'wpse114490_set_template_uri\' );
add_filter( \'template_directory_uri\', \'wpse114490_set_template_uri\' );
add_filter( \'stylesheet_directory\', \'wpse114490_set_template_uri\' );
add_filter( \'stylesheet_directory_uri\', \'wpse114490_set_template_uri\' );
这是假设example.com 是在设置/数据库中设置的值。

SO网友:guidod
SO网友:Manish

而不是$_SERVER[\'HTTP_HOST\'] 写入硬编码值并检查其是否工作。

结束

相关推荐