升级Wordpress2.0以后似乎无法正常trackback,一直以为是对方关闭了trackback,今天 问了海豚才知道是Wordpress2.0的一个bug。有一种 去除数据库中相关数据的方法,不过不太愿意改动数据库,操作比较麻烦,还有后期的问题。
来自終極邊疆BLOG的解决方案如下:
wp-includes/function-post.php line 700:
改成
PHP:
- $wpdb->query ("UPDATE $wpdb->posts SET to_ping = '' WHERE ID ='$post_id'");
- return;
- }
wp-admin/execute-pings.php line 21:
PHP:
- // Do Trackbacks
- while ( $trackback = $wpdb->get_row("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft' LIMIT 1" )) {
- echo "Trackback : $trackback->ID";
- do_trackbacks($trackback-> ID);
- }
改成
PHP:
- // Do Trackbacks
- // The old code will cause infinite loop when trackback failed.
- //
-
- $trackbacks = $wpdb-> get_results("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft'" );
-
- foreach ( $trackbacks AS $trackback ) {
- echo "Trackback : $trackback->ID";
- do_trackbacks($trackback ->ID);
-
- } // end foreach
-
- }
我如此修改以后似乎trackback还有些不正常,有些能ping通,有些则不能,我自己都无法trackback自己。
Technorati Tags: wordpress, bug
1/11/2006 7:30:11 AM Post by[苟世录]
评论