WP 2.1 和 UTW 的兼容性问题
这个问题对用 UTW 和 Wordpress 2.1 的同学们来说,比较严重。
也许有人已经发现了,当你升到 Wordpress 2.1 后,只要有人在你的帖子上留言,或是发 Trackback 或是 Pingback 的时候,帖子的 Tag 就会消失(是被删掉,事实上)。说原因前我先贴一下修补 (via),然后有兴趣的同学再慢慢看原因。
打开 /wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php
在大概第 862 行你会看到:
// Save changes to tags
add_action('publish_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
add_action('edit_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
add_action('save_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
add_action('wp_insert_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
把这些代码注解掉,换上:
// Save changes to tags
add_action('save_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
if($wp_db_version < 3308 ) { // if lesser than WP 2.0
add_action('publish_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
add_action('edit_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
add_action('wp_insert_post', array('UltimateTagWarriorActions','ultimate_save_tags'));
}
这就把问题解决了。
问题的原因 Mark 在他的 Blog 上做了解释。其实这个问题并不单是 Wordpress 2.1 的原因,其实在更早的版本这个问题就是潜在存在的,不过是在 2.1 版上被带了出来。也并不单是 UTW 受影响,还有一些比如 Jerome’s Keywords 等等往 Custom Field (自定义域?) 里写数据的插件都可能受到影响。Mark 的说明细节部分我就不重复了,有兴趣的人可以去看。简单来说我理解成:这不是我们的问题,这是插件作者的问题,你们对 WP 的机制理解的不够,你们犯下这样这样的错误,你们需要如此如此才行。:wink:
通俗来说,插件作者编写插件让插件自动监视编辑文章的表格,如果是空的,插件就认为文章已经被删除,于是也会把自己在这篇文章的 post_meta 数据删除,这就是为什么 UTW 的 tag 会不见,因为被它自己删除了。但在 2.1 中,edit_post 并不是一定要在写文章或编辑文章时才会调用的,也不是一定要是注册用户的动作才能引发调用的。比如说留言就能引发 edit_post 被调用,这个时候,插件监视到的是一个空的 edit_post,它认为这篇文章已经被删除了,它就非常“智能”地清空了自己留在 post_meta 里的数据。
我用到的往 Custom Field 里写数据的插件包括 UTW, Article 和 Postviews,检查了一下,好像除了 UTW 其余两个都没事。大家也可以检查一下自己的插件,如果发现 Custom Field 里面的数据被抹除,可以联系插件作者请修改一下。
更新:看来留言的时候不一定有事,但当你审核留言时,同意后,该留言对应的文章 Tag 会被删掉。虽然审核留言的时候不多,但还是打一下后面的补丁以防万一吧。
再更新:最新的 3.14159265 版的 UTW 宣称解决了上述问题。
14 Comment(s)
hhalloyy
January 28th, 2007 at 4:00 pm
嘎嘎,人品有问题的人不行 :cool:
kevin
January 29th, 2007 at 4:18 am
怪不得
我一直百思不得其解的说
fishee
January 29th, 2007 at 7:19 am
不需审核的留言似乎没事,不过但还是打了一下补丁
thanks
kevin
January 29th, 2007 at 8:45 am
wa
我的居然回复自动tb的功能了ye :grin:
pute
January 29th, 2007 at 9:01 am
我还正准备升级。本机测试有许多问题…………哈哈。
Michael (Blog Owner)
January 29th, 2007 at 9:37 am
kevin, 您那个是 pingback :lol:
kevin
January 29th, 2007 at 2:24 pm
这次是不是TB到了呢?
抱歉啊
自己删除一条吧:) :idea:
Michael (Blog Owner)
January 29th, 2007 at 3:34 pm
这次是 TB 了,我觉得 :smile:
stane
January 31st, 2007 at 3:47 pm
升级到最新的 UTW 就可以了
Michael (Blog Owner)
January 31st, 2007 at 4:00 pm
stane, 问题也出在最新版本上,3.1415926
我在作者网上没看见比这个更新的啊?
awflasher
February 11th, 2007 at 9:04 am
sigh … 3.141592653589 … ^_^
偶爱偶家
May 14th, 2007 at 9:06 am
太感谢了, 虽然还没有碰到这个问题, 不过升级为妙
商业信息
August 3rd, 2007 at 3:17 am
学习学习
Chris
October 21st, 2007 at 7:44 am
总算解决了这个问题,谢谢
9 Pingback/Trackback(s)
Wordpress v2.1升级笔记 | TechPush
January 29th, 2007 at 2:43 am
1[...] Update: UTW与Wordpress 2.1还是有一点小问题,如果你审核了一条留言,那么该留言对应的帖子的Tag就会被删除,具体请看Michael的帖子,里面已经给出了解决方法。 [...]
OtherSide » WP 2.1 和 UTW 的兼容性问题
January 29th, 2007 at 4:49 am
2[...] 不过现在看到了这篇《WP 2.1 和 UTW 的兼容性问题》,这下应该可以修复了吧。 Posted on 星期一, 01月 29th, 2007 at 11:49 am , filed under 爱踢. You can follow responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. [...]
OtherSide
January 29th, 2007 at 2:21 pm
3度谷战事抢鲜报…
度谷SEO真是一场激战,战场瞬息万变。
对于百度组,大家清楚看到,排在前面的都是百度自家内容,比如空间、知道、贴吧等。not funny!
我们只关注谷歌组吧。谷歌组的比赛和打仗一样,一时…
WP 2.1 和 ELA 的兼容性问题 | 巧克力工厂 (Beta3)
January 30th, 2007 at 4:05 pm
4[...] 看来 Wordpress 2.1 真是个 trouble maker,和 Extended Live Archive 又发现兼容性问题,鉴于用 ELA 的人还挺多的,我拿来说说。估计他们官方又会跑出来说“是你们插件作者的错,不是我们的错”了,嘿嘿。 [...]
升级到WordPress 2.1 at 肚破惊天 我承认,肚破惊天是一种境界
January 30th, 2007 at 4:07 pm
5[...] 升级到WordPress 2.1,用的仍是yskin的2.07中文包,并无大碍。 k2主题升级到0.95RC1。插入连接的按钮怎么跑右边了。晕。 UTW升级到3.1415926。之前非常担心会在2.1下失效的Page Post 2,也照常运行。另外,傻逼妹在2.1中运行正常。我使用的其他插件暂时没有因升级而失效的。 暂时没有发现什么问题,浏览过程中如果大家有见到麻烦通个信。也没有发现什么好玩儿的。 此专辑中有我此次升级的一些截图。 坦白说很讨厌这种频繁地升级。想想DZ升级的频繁,我很欣慰。 update:刚注意到,友情连接的排序给搞乱了。巧克力工厂提到了UTW和ELA在2.1中的问题,我暂时还没有发现。随后的更新中应该会有,我没有那么幸运。 [...]
要升级wordpress 2.1 ELLA,得做好准备 - Life is Dox
February 6th, 2007 at 7:29 am
6[...] UTW插件的问题: 插件作者在自己的页面上说,已经兼容wp2.1了,发表评论不会再删除文章的tags,但是审核一个评论却会删除。还有其他一些问题,解决起来似乎都很麻烦。作者也没有提出更新的解决方案。还是要再等等看吧。另外还有一两篇文章提到这个问题:http://bemike.org/blog/2007/01/28/compatibility-issue-between-wp-and-utw.html, http://ocaoimh.ie/2007/01/23/the-new-wp-utw-gotcha/ [...]
kill preview与wordpress2.1不兼容 at y0ungs的blog
February 26th, 2007 at 12:59 pm
7[...] 4.与UTW兼容性问题,可升级到3.14159265解决 [...]
links for 2007-02-02 | Smartr.cn
April 27th, 2007 at 2:06 pm
8[...] WP 2.1 和 UTW 的兼容性问题 | 巧克力工厂 (Beta3) [...]
新版UTW导致离线发文丢失tags | 偶爱偶家
May 15th, 2007 at 10:39 am
9[...] Ultimate Tag Warrior 跟wordpress2.1有兼容性问题 — “ WP 2.1 和 UTW 的兼容性问题 ”, 虽然我一直在用 Ultimate Tag Warrior 没有碰到过, [...]
RSS feed for comments on this post · TrackBack URI
Leave a reply
Copyright © 2006-2008 巧克力工厂 - hosted at Slicehost, powered by WordPress and Nginx.
若无事先声明,本站作品匀采用署名-非商业性使用-相同方式共享 3.0 Unported进行许可。