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

Était-ce utile?

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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top