使用Trackback或Pingback向站点发送/从站点发送哪些数据?

时间:2014-06-06 作者:jchwebdev

启用trackback和pingback时,wordpress博客发送/发送的数据究竟是什么?我可以捕获这些数据吗?

Wordpress上的博客帖子介绍说,除了URL之外,正在发送更多的数据,但准确地说,是什么。。。我怎样才能控制它?也就是说,邮件摘录是否正在发送?是否收到链接博客的评论(如果收到,我如何获取它们?)

那篇博文说,一个使用HTTP,另一个使用XML-RPC,所以我想知道是否有一种机制可以捕获这两种类型的数据。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

对于pingback,似乎只发送链接的页面/帖子及其链接来源的页面/帖子。查看pingback() 功能,特别是这一行:

 $client->query( \'pingback.ping\', $pagelinkedfrom, $pagelinkedto );
。。。哪里$client 是的实例WP_HTTP_IXR_Client. 这个query 方法使用IXR_Request 要打包简单的XML文档,请执行以下操作:

<?xml version="1.0"?>
<methodCall>
    <methodName>pingback.ping</methodName>
    <params>
        <param>
            <value>
                <string>[pagelinkedfrom]</string>
            </value>
        </param>
        <param>
            <value>
                <string>[pagelinkedto]</string>
            </value>
        </param>
    </params>
</methodCall>
。。。然后发送到pingback服务器URL(在$client 已实例化)。

trackback,更简单一点,包含更多数据-请参阅trackback():

$options[\'body\'] = array(
    \'title\' => $title,
    \'url\' => get_permalink($ID),
    \'blog_name\' => get_option(\'blogname\'),
    \'excerpt\' => $excerpt
);

// WP_Http will automatically convert body to a HTTP query string
$response = wp_safe_remote_post( $trackback_url, $options );
至于处理/拦截响应,请查看wp_xmlrpc_server::pingback_ping() 在里面wp-includes/class-wp-xmlrpc-server.php 对于ping和文件wp-trackback.php 用于trackback。

您将很快看到可用的操作/过滤器,以及可以与响应交互(更改)的程度。

结束

相关推荐

pingbacks testing

关于新wp安装(3.0.4)中PBs的功能测试,我有几个问题:发布帖子时是立即发送pingback,还是将其安排为cron作业?如果后者正确,作业多久运行一次,我可以手动触发它吗?除了将“尝试通知文章中链接到的任何博客”设置为“开”,当然还有帖子内容中指向另一个博客的链接之外,还有其他关于发送PBs的术语吗?(例如,发件人的帖子应该是公开的而不是私有的吗?博客应该是非私有的吗?)出站链接应该放在帖子内容中,还是可以放在帖子的自定义字段中,以便发送PB?如果我的博客中没有发送或接收PBs,那么调试和检测问题