如题。将Hot friends和mailtocommenter插件分别更新到1.3.2和1.3版。
其中hotfriends新版并没有添加新功能。只是修改了文件名,避免在一些Wordpress平台上可能发生的兼容问题。一直在考虑在后台新增些管理方面的功能,暂时没有写出来。
mailtocommenter方面主要是更正了几个Bug。这里谢谢网友Joe,他发现了@user选项的代码问题。以及在后台新添了几个设置选项。
1. 类似hot friends后台,新增了语言包的选项。用户可自行选择英文或中文。
2. 新添按钮的样式的设置选项。添加了@reply的图片。用户可设置成和@reply一样的显示效果,即@user。
2个插件的共同修正地方是,全部将原来插件内的functions.php更名为pluginname_functions.php,以避免在一些wordpress平台上可能发生的兼容性问题。这个问题是前几天在帮网友Donald查看时候发现的。这里想以Donald的站点为例,详细谈谈修正插件的原因,请其他使用非官方Wordpress的网友注意。并把解决问题的思路过程写出来,供网友们在查询wp问题时参考用。
他的站点出现的问题是,一激活插件后,导致Mandigo模板的部分css代码无法加载,使得站点处于半裸奔状态。很明显是插件和模板的兼容问题。但深究下去,问题其实并不是那么简单。
首先,hot friends和mailtocommenter这2个插件并不涉及修改css等等。插件本身生成的html代码都符合w3c标准。所以怎么会造成css文件无法加载?这里先赞一下,Mandigo模板是相当的很不错,提供了相当多的选项供用户设置。而用户自定义这部分的css是通过php文件来动态实现的,即模板的style.css.php文件。问题就出在于,激活插件后,style.css.php这文件马上提示出现严重错误,报错退出。所以造成这部分css代码无法正常生成并被加载。而报错的原因竟然是functions.php里面的函数重复定义?Donald告诉,目前为止仅仅是启用我的这2个插件才会报错。于是分析下2个插件的共同点。原来都使用了这句代码:
include_once( ‘functions.php’ );
这样问题就比较明朗了。因为我个人写插件习惯,总是在插件目录下建立一个functions.php文件,然后将插件的其它函数整理放入。这个做法是参照官方模板文件的写法的,每个模板下都可以建立一个functions.php,然后将该模板的自定义函数放在该文件内,这样模板被激活的时候会自动激活这些自定义函数。同样,卸载模板时,这些模板的自定义函数也将被卸载。换句话说,functions.php内定义的是本地函数。
但不知道为什么在他的站点的WP上竟然会重复运行这句代码,以致造成wordpress会再次加载Mandigo模板下的functions.php文件,所以造成出现函数重复定义,以致无法执行style.css.php文件生成css代码。
找到问题根源后,解决方法也很简单,将插件文件夹下的functions.php重命名为pluginname_functions.php,然后将该代码改为:
include_once( ‘pluginname_functions.php’ );
保存退出。重新激活插件。果然一切正常了。
是插件的问题?或是插件和模板的兼容问题?因为很多网友都在使用这2个插件,且并没有反馈类似问题,所以到此为止,我以为是后者造成的。然而,请接下来看。
奇怪的是,我下载Mandigo模板,在本地测试,用的是wordpress官方2.6.2版,激活插件等,Mandigo模板的显示都没有问题。这就说明了,这2个插件,hot friends和mailtocommenter和Mandigo模板并不存在兼容性的问题。然而,为什么在Donald的站点上无法使用呢?继续对比下环境,php方面是没有问题,都是5.2版。唯一区别的是他站点用的是Wordpress中文版,具体是哪个中文版我没有仔细看。我用的是官方英文版。而为什么中文版会造成这个bug,我也无从查知。
按理,个人理解,制作wordpress中文版,仅需要的是修改了wordpress界面的中文语言包而已,并不需要涉及修改其它文件因为官方没有发布中文版或其它语种的官方版,中文版都是国内的wordpress爱好者在维护的。他们无私地为wordpress的中文化贡献了很多。很多中文版的发布都是紧跟官方版。可以想象这些爱好者为了wordpress的中文化牺牲了多少个人时间。这里向这些无私的网友们致敬。
嘿嘿,我在wordpress中文论坛当版主的那段日子内,常碰到一些网友的wp博客出现因中文版造成的问题,而我个人的观点也是想玩wordpress的话,最好是安装原汁原味的官方版。然后,根据自己的需要,自行修改代码,这样出现问题时,查错就比较简单了。再次强调下,我个人并不反对使用中文版,也并不是在诋毁中文版制作者。因为很多时候,一些中文版会修改些wordpress的源代码,(因为wordpress一些源代码的确有些效率问题。然而,wordpress考虑更多的是兼容性问题,为了给开发者制作插件或模板的其开放的api,效率和兼容,就好比是跷跷板。)。而正是这些修改后的源代码很容易造成问题。而大部分用户并不不会知道那部分代码被修改过,以致出现模板或插件的使用问题时,仅仅是三个字,“不兼容”。也容易造成问题根源很难被发现并解决。
为此,这里对中文版制作者友情建议下,制作中文版时候,如果涉及修改了源代码,请务必将修改之处在发布时说明。
最后,再次感谢你们的无私奉献。无意冒犯之处请见谅。
转载文章请注明转载自:ThinkAgain - Let's Blog!


























2008.10.27 Monday 11:35 pm
可能是鸟大了,啥林子都有!!!
2008.10.28 Tuesday 10:05 am
我觉得可以试试英文原版+语言包试试
2008.10.28 Tuesday 10:20 am
我新近刚改至原版使用中…
PS:现在在考虑怎么给留言本分页…-.- 装上偶爱偶家的分页插件后很搞笑的,问题多多
2008.10.28 Tuesday 10:35 am
热朋友放凉了
2008.10.28 Tuesday 12:40 pm
好像“在评论框下显示下列说明. 支持Html代码.”这个功能无论选还是不选都会在评论框下面出现说明文字
2008.10.28 Tuesday 1:31 pm
@Patrick 谢谢提醒。已修正。晚些时候上载到wp插件库。
2008.10.28 Tuesday 6:59 pm
@Yacca 据说2.7就有留言分页的,等它发布就不用烦了。
2008.10.28 Tuesday 8:02 pm
嵐兄真是善解人意,辛苦了
2008.10.28 Tuesday 8:13 pm
非常感谢作者的无私奉献!辛苦了!
2008.10.28 Tuesday 11:05 pm
现在友链并不多,以后再用插件,到时说不定博主开个更强大的出来
2008.10.29 Wednesday 10:30 am
这两个插件更新超快啊,呵,后台控制越来越顺手了的。
2008.10.29 Wednesday 10:31 am
@冰古 @Yacca 分页我倒是处理好了,而且以后也不打算更新了,麻烦,2.6.1用起来蛮顺了
2008.10.29 Wednesday 12:23 pm
@shamas 2.7有一键升级功能,就像插件的升级那样,点点就能升级到最新版本了。
低版本有安全漏洞的,还是升级比较好。
2008.10.29 Wednesday 8:28 pm
做得不错 支持下
http:/www.tongxunshe.com/
2008.10.30 Thursday 8:17 am
我现在才发现前辈写了好几个插件,我真后知,而且你的插件都还很NB,哈哈
2008.10.30 Thursday 3:00 pm
@旁观者 现在用用也不晚的
2008.10.31 Friday 11:24 am
哇卡卡,换主题了啊,还在修改吧,页面不能留言的说
2008.10.31 Friday 11:35 am
@shamas ,中午的时候刚换了主题。除了将侧边栏的友链改成随机和限制显示20外,其它的地方没有去调试。发现这个模板做的不是很规范。呵呵。只是看重了页眉的图片,换上了挂2天得了。懒得去调试其它了。
2008.10.31 Friday 1:01 pm
我现在一直在用 hot friends ,感觉不错
另,这主题有点雷人啊,我刚才还以为走错地方了
2008.10.31 Friday 2:01 pm
来学习了。。呵呵
2008.10.31 Friday 8:52 pm
好黑啊
2008.11.01 Saturday 12:31 am
2008.11.01 Saturday 9:25 pm
从白到黑,跨度非常大。
2008.11.02 Sunday 4:38 am
有没想过其他的插件作品?hehe
2008.11.08 Saturday 11:12 am
呃,刚看到这篇文章。
那天真是麻烦了山之岚很久,在这里再次谢谢:mrgreen: 。通过这件事我也决定还是用官方版的WordPress了。如果有什么问题也比较好分析…
山之岚是个很认真的人:)
2008.11.09 Sunday 9:19 pm
mailtocommenter如果用自动更新插件的话,之前上传过的PNG图片或设置都要重新再搞一遍… 还是支持
2008.11.10 Monday 10:30 am
@liby mailtocommenter在自动更新时,应该是不会覆盖原来的设定的。记得我已经修正过这个bug了。但自动更新插件的时候,wp会先将原插件目录删掉的,所以建议你不要将图片等放在插件目录下。你可以将图片放在站点其它目录,然后在后台正确设置其图片地址就可以了。
2008.11.15 Saturday 2:44 pm
那我以后还是装原版wordpress了,反正后台也熟悉了~~
2008.11.21 Friday 2:17 pm
辛苦了,什么时候兼容下 WordPress2.7 呢?我实在不想有两个 “回复” 按钮啊
2008.11.22 Saturday 12:10 pm
@辐射鱼 目前还没有试用过2.7,但我想从原理上来说,mailtocommenter应该是兼容2.7的吧。
2008.11.22 Saturday 12:14 pm
@山之岚 2.7自定义了一个回复按钮,mailtocommenter放上去就会有两个回复按钮啦,你该更新了,hoho
2008.11.22 Saturday 12:20 pm
@辐射鱼 那看来得去下载安装个2.7看看了。呵呵。谢谢提醒。
2008.12.19 Friday 12:06 am
发现楼主人真不错。