我已经实现了自己的pingback客户端,并将pingback发送到不同的主机。
一些wordpress实例使用faultCode
属于0
和一个空的faultMessage
.
原因是什么?
我已经实现了自己的pingback客户端,并将pingback发送到不同的主机。
一些wordpress实例使用faultCode
属于0
和一个空的faultMessage
.
原因是什么?
由于某些原因,附加到pingback错误的默认筛选器不会发送错误消息,除非错误代码为48。从…起wp-includes/commment.php
:
function xmlrpc_pingback_error( $ixr_error ) {
if ( $ixr_error->code === 48 )
return $ixr_error;
return new IXR_Error( 0, \'\' );
}
标准Wordpress源仅包含一个pingback错误调用,错误代码为0,消息为空,在wp-includes/class-wp-xmlrpc-server.php
:
} elseif ( is_string($urltest[\'fragment\']) ) {
// ...or a string #title, a little more complicated
$title = preg_replace(\'/[^a-z0-9]/i\', \'.\', $urltest[\'fragment\']);
$sql = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_title RLIKE %s", like_escape( $title ) );
if (! ($post_ID = $wpdb->get_var($sql)) ) {
// returning unknown error \'0\' is better than die()ing
return $this->pingback_error( 0, \'\' );
}
$way = \'from the fragment (title)\';
}
因此,当无法从URL确定帖子并且存在片段/锚点时,可能会发生错误(#foo
) 在URL的末尾。该片段被解释为标题,并在posts表中搜索具有该标题的帖子。不幸的是,这不是我的原因,因为我的URL中没有锚。
关于新wp安装(3.0.4)中PBs的功能测试,我有几个问题:发布帖子时是立即发送pingback,还是将其安排为cron作业?如果后者正确,作业多久运行一次,我可以手动触发它吗?除了将“尝试通知文章中链接到的任何博客”设置为“开”,当然还有帖子内容中指向另一个博客的链接之外,还有其他关于发送PBs的术语吗?(例如,发件人的帖子应该是公开的而不是私有的吗?博客应该是非私有的吗?)出站链接应该放在帖子内容中,还是可以放在帖子的自定义字段中,以便发送PB?如果我的博客中没有发送或接收PBs,那么调试和检测问题