wordpress升级至3.5

我都不记得初次接触wordpress时是用的哪个版本了,反正不知不觉就更新到3.5了。

起初不敢那这个网站做小白鼠,于是到另一个闲置的美国主机上把程序自动更新到3.5,国外的就是快,一点自动更新,瞬间就升级好了。把我正用的主题也转移过去测试一下,没出现什么大的兼容性问题,不过就是文章归档页面的点击月份“展开/收缩”的特效没了,另外友情链接页面链接前面的网站图标也不显示了。虽然说没什么大问题,但是任由其这样子总觉得不爽,于是开始找原因……

其实一开始出现这个问题,我就想到了很可能是js的原因,但是js这东西我也不懂,就算是这方面的原因,咱也不知道该怎么修改。于是我把注意力转移到了代码上,网上找到了另一种归档页面的代码,替换了原主题archives.php中相应的代码以及functions.php中相应的函数,测试结果依旧。对着电脑愁了一下午,无果。

晚上去单位有事,完了之后又和同事一起吃饭、打桌球,算是做了下休整。

回到家已经九点多了,开电脑继续折腾。缕一缕思绪,想想我更新wordpress都干了些什么?

1、备份wordpress资料,删除服务器上的wp-admin和wp-includes文件夹

2、下载wordpress的最新版(这里指3.5),解压,将其中除了wp-content外的所有文件上传到服务器,出现重命文件则覆盖

3、运行http://博客地址/wp-admin/upgrade.php,执行升级

因为我更换过评论表情,所以把wp-includes/images下的smilies文件夹也同步更新过去。

到此wordpress手动升级算是完成了,但是当我进入后台时,发现媒体库的语言是英文的,好吧,版本更新的东西多了,语言包变化大了,再把wp-includes下的languages文件夹上传覆盖就OK了。

排除了wordpress升级的错误,排除了归档页面代码的错误,我又回头想起了js。

主题的header.php里有句代码:

<?php wp_enqueue_script( 'jquery' ); ?>

这个是用来调用wordpress自带的jquery库的。我比较了下wordpress 3.4.2与3.5中自带jquery文件,发现3.4.2中是1.7.2的版本,而3.5中是1.8.3的版本,问题似乎就出在这上面。

删掉上述调用wordpress自带jquery的代码,将其改为:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">window.jQuery || document.write('<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.min.js">\x3C/script>')</script>

结果归档页面的错误竟然消失了,友链页面也恢复了正常。

通过这件的事情,让我注意到了wordpress升级过程中由于jquery版本升级而造成的主题兼容性问题,在这里记录一下,也算是给各位准备升级wordpress的博友们提个醒。

共有 18 条评论

        1. 我也不知道什么原因,也有可能是误报吧。
          这vps好便宜哦,一直都想弄个你推荐的那家的vps玩玩,不过没外币信用卡,只好一次又一次飘过…

          1. 你问的是哪个?我的主机是国内电信的,IDC商链接底部有。他的是国外的vps,那家的名字不记得了…

发表评论

电子邮件地址不会被公开。 必填项已用*标注