Précisément - quelles données sont envoyées vers/depuis un blog wordpress lorsque vous activez les rétroliens et les pingbacks? Puis-je capturer ces données?
La publication d’Introduction à Blogging sur Wordpress indique que plus de données sont envoyées en plus de l’URL, mais précisément-what -... et comment puis-je les contrôler? c'est à dire. est-ce que l'extrait de message est envoyé? Les commentaires du blog de liaison sont-ils reçus (et si oui, comment puis-je les capturer?)
Ce billet de blog dit que l'un utilise HTTP et l'autre XML-RPC, alors je me demande s'il existe un mécanisme unique pour capturer les deux types de données.
Pour les pingbacks, il semble que seules la page/publication liée et la page/publication à partir de laquelle le lien est envoyé sont envoyées. Découvrez la pingback()
, en particulier cette ligne:
$client->query( 'pingback.ping', $pagelinkedfrom, $pagelinkedto );
... où $client
est une instance de WP_HTTP_IXR_Client
. La méthode query
utilise IXR_Request
pour empaqueter un document XML simple:
<?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>
... qui est ensuite envoyé à l'URL du serveur pingback (transmis lorsque $client
est instancié).
Rétroliens, un peu plus simples et avec un peu plus de données - voir 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 );
En ce qui concerne le traitement/l’interception des réponses, vérifiez la source de wp_xmlrpc_server::pingback_ping()
dans wp-includes/class-wp-xmlrpc-server.php
pour les pings et le fichier wp-trackback.php
pour les rétroliens.
Vous verrez rapidement quelles actions/filtres sont disponibles et dans quelle mesure vous pouvez interagir avec (& modifier) les réponses.