无法Trackbacks

升级Wordpress2.0以后似乎无法正常trackback,一直以为是对方关闭了trackback,今天问了海豚才知道是Wordpress2.0的一个bug。有一种去除数据库中相关数据的方法,不过不太愿意改动数据库,操作比较麻烦,还有后期的问题。

来自終極邊疆BLOG的解决方案如下:

wp-includes/function-post.php line 700:

PHP:
  1. if ( empty($to_ping) )
  2. return;

改成

PHP:
  1. if ( empty($to_ping) ) {
  2.     $wpdb->query("UPDATE $wpdb->posts SET to_ping = '' WHERE ID ='$post_id'");
  3.     return;
  4. }

wp-admin/execute-pings.php line 21:

PHP:
  1. // Do Trackbacks
  2. while ($trackback = $wpdb->get_row("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft' LIMIT 1")) {
  3.   echo "Trackback : $trackback->ID";
  4.   do_trackbacks($trackback->ID);
  5. }

改成

PHP:
  1. // Do Trackbacks
  2. // The old code will cause infinite loop when trackback failed.
  3. //
  4.  
  5. $trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft'");
  6.  
  7. if (is_array($trackbacks) && count($trackbacks)) {
  8.     foreach ($trackbacks AS $trackback  ) {
  9.         echo "Trackback : $trackback->ID";
  10.         do_trackbacks($trackback->ID);
  11.  
  12.     } // end foreach
  13.  
  14. }

我如此修改以后似乎trackback还有些不正常,有些能ping通,有些则不能,我自己都无法trackback自己。

Update:多方修改以后,现在只能trackback日志中的地址。

2006-01-14 Update:执行www.yourdomain.com/wp-admin/execute-pings.php trackback才全发出去 :(

wordpress,bug

相关文章:
  • TrackBack
  • trackback的好处
  • PR更新
  • One Response to “无法Trackbacks”

      a gravatar
    1. 苟世录 » Blog Archive » PR更新 your flag Says:

      [...] Google就在这几天更新了,不过自己博客的PR已经半年多没进展了,不过有数篇日志PR涨到了4或5 http://www.antonioz.com/2006/01/11/can-not-trackback/ http://www.antonioz.com/2006/03/07/my-plugins/ [...]

    Leave a Reply