使多站点上的不同站点引用相同的脚本

时间:2014-04-07 作者:danbrown

我正在使用多站点,希望我的所有脚本都指向相同的URL,以便尽可能优化它们。目前我有:

http://www.site.com/news/wp-content/themes/js/bxslider.js

http://www.site.com/events/wp-content/themes/js/bxslider.js

但它们都引用同一个文件。我希望他们都是这样的:

http://www.site.com/wp-content/themes/js/bxslider.js

这样一来,即使人们已经在本地缓存了同一文件,也不必再次下载该文件。This question 是相同的问题,但解决方案不是最新的。有人对代码或插件有什么想法可以帮助解决这个问题吗?

谢谢

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

嗨,这就是我解决问题的方法:

add_filter( \'script_loader_src\', \'change_src\' );
add_filter( \'style_loader_src\', \'change_src\' );

function change_src( $url )
{   
    if( is_admin() ) return $url; // Don\'t filter admin area
    return str_replace( site_url(), \'www.mysite.com/mydefaultnetworksite\', $url );
}
我使用这两个过滤器是因为我希望它应用于脚本和样式表URL。该函数只需查找站点url,将其撕下,并将其替换为我希望所有站点脚本/样式表指向的url的硬编码版本。

我选择了multisite中的第一个站点,但它可以是任何站点:)

结束

相关推荐

How to set up wp multisite?

安装所有台阶后(http://codex.wordpress.org/Create_A_Network) 我尝试创建网站。我无法访问创建的任何网站的仪表板。它表示找不到页面(错误404)。为了启动fresh,我卸载了WP,然后按照每个步骤安装。我不知道该怎么办。我只能访问根站点的仪表板。其余的我都不行。