web-dev-qa-db-fra.com

Modification de la fonctionnalité de pingback

Je voudrais faire bon usage de l'ole pingback sur un site multi-auteurs, mais avec quelques modifications et préoccupations.

  1. Ils ne devraient être disponibles qu'en interne, aucun pingback externe accepté. Si je comprends bien, les désactiver dans les options générales tout en les laissant ouvertes à chaque poste devrait le faire - est-ce correct?

  2. Je veux modifier leur format. En ce moment, le titre de la page devient celui de l'auteur, ce qui n'est pas cool. Je préférerais que l'auteur du post soit l'auteur et que the_title()/<h1> devienne un titre (nouveau champ), l'extrait restant en place en tant que contenu. Je n'ai pas trouvé grand chose à ce sujet. Existe-t-il une API documentée (non obsolète) ou un hook/filtre capable de le faire?

Remarque: je suppose que quelque chose devrait plutôt arriver du côté de l'envoi, comme passer l'ID de la publication pour une utilisation ultérieure. J'ai une idée sur la façon de le faire, mais cela implique l'ajout de l'ID de publication sur le contenu visible (comme l'URL) et je suis réticent à le faire.

  1. La fonctionnalité pingback va-t-elle être supportée à long terme dans Wordpress ou est-elle susceptible d'être obsolète? Au cas où il irait quelque part, est-il susceptible d'avoir une sorte d'héritage permettant, comme le font les "liens", ou est-ce que mes pingbacks vont finir dans les limbes?

  2. Webmentions une meilleure idée ou une impasse?

3
Lucian Davidescu

En fait, cela s'est avéré assez facile, car le message peut être récupéré à partir du slug:

// get the url of the reffering post
$ping_slug = $comment->comment_author_url;
// keep just the slug
$ping_slug = trim(parse_url($ping_slug, PHP_URL_PATH), '/');
// get the post from the slug
$ping_post = get_page_by_path($ping_slug, OBJECT, 'post');
// find the post author data
$ping_author = get_userdata($ping_post->post_author);
// display the author name
echo $ping_author->display_name;
// so on, so forth
1
Lucian Davidescu