J'essaie d'ajouter l'intégration oEmbed DeviantArt à un thème personnalisé.
J'ai trouvé que la première étape est assez facile, j'ai ajouté
wp_oembed_add_provider( 'http://*.deviantart.com/#/d*', 'http://backend.deviantart.com/oembed' );
au thème functions.php .
Maintenant, je voudrais changer la sortie HTML par défaut pour ajouter plus d’informations, disponibles dans la réponse JSON de DeviantArt ( référence DeviantART ), comme nom_auteur, auteur_url, etc. .
Si j'ai bien étudié le code WP qui gère la sortie est à l'intérieur de la fonction data2html dans class-oembed.php , mais je n'aime pas changer le code ici.
Comment puis-je ajouter une fonction à mon thème pour obtenir le résultat souhaité?
WP_oEmbed::data2html()
a un filtre, oembed_dataparse
. Vous pouvez l'utiliser pour modifier la sortie, en fonction des données supplémentaires transmises en tant que deuxième paramètre.
Quelque chose comme ça 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;
}