What Data Is Being Sent To/From Sites With Trackback Or Pingback?

For pingbacks, it seems only the linked page/post and the page/post it linked
from are sent. Check out the pingback() function, specifically this line:

 $client->query( 'pingback.ping', $pagelinkedfrom, $pagelinkedto );

… where $client is an instance of WP_HTTP_IXR_Client. The query method uses IXR_Request to package up a simple XML document:

<?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>

… which is then sent to the pingback server URL (passed in when $client is instantiated).

Trackbacks, little more straightforward, and with a bit more data – see 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 );

As for handling/intercepting the responses, check out the source of wp_xmlrpc_server::pingback_ping() in wp-includes/class-wp-xmlrpc-server.php for pings, and the file wp-trackback.php for trackbacks.

You’ll quickly see what actions/filters you have available, and how much you can interact with (& alter) the responses.

Leave a Comment