Comment modifier le formatage HTML d'un lien oEmbed?
-
22-10-2019 - |
Question
Je suis en train d'ajouter l'intégration oEmbed DeviantArt à un thème personnalisé.
Je trouve que la première étape est assez facile, j'ai ajouté
wp_oembed_add_provider( 'http://*.deviantart.com/#/d*', 'http://backend.deviantart.com/oembed' );
à son thème functions.php .
Maintenant, je voudrais changer la sortie HTML par défaut pour ajouter plus d'informations, disponibles en réponse DeviantArt JSON ( référence DeviantART ), comme author_name, author_url, etc.
Si j'ai bien étudié le code WP qui gèrent la sortie est fonction dans data2html classe oembed.php , mais je ne aime pas changer le code ici .
Comment puis-je ajouter une fonction à mon thème, pour obtenir le résultat désiré?
La solution
WP_oEmbed::data2html()
a un filtre, oembed_dataparse
. Vous pouvez l'utiliser pour changer la sortie, sur la base des données supplémentaires qui est passé comme second paramètre.
Quelque chose comme ceci par exemple:
add_filter( 'oembed_dataparse', 'wpse17461_oembed_dataparse', 10, 3 );
function wpse17461_oembed_dataparse( $html, $data, $url )
{
if ( FALSE !== strpos( $url, 'deviantart.com' ) ) {
return $html . '<br/>Author: ' . $data->author_name;
}
return $html;
}