我正在运行一个旧版本(3.3.1)和更旧主题的WP站点。由于某些原因,我无法更新或更改任何代码文件。
我现在遇到的问题是,主题使用的是本地Jquery版本1.3.2,因为一些管理页面的响应很奇怪。
Jquery是硬编码的,没有任何钩子,因此在不修改核心文件的情况下删除是不可能的(我不允许这样做)。
我在上面添加了一个动作挂钩admin_head
加载所需版本的JS
function modify_jquery() {
echo \'<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>\';
}
add_action(\'admin_head\', \'modify_jquery\');
这解决了我的问题,一切都如期进行。
我唯一的问题是,这(加载2个不同版本的JS文件)会不会在任何其他页面中产生任何问题?
我随机检查了几页,但什么也没找到。有什么建议吗?
SO网友:Rarst
我唯一的问题是,这(加载2个不同版本的JS文件)会不会在任何其他页面中产生任何问题?
可能的WP在中加载jQuerynoConflict
模式,意味着它不占用典型$
变量,但仅限于jQuery
一然而,jQuery的另一个副本很可能会引起争论jQuery
一个是核心版本。
本质上这是可能的,但需要非常明确地实现noConflict
因此,两个版本是分开的,仅从打算使用该特定版本的代码中调用。
在典型的主题案例中,修复代码以正确使用当前jQuery版本可能比实现多版本环境更容易。