web-dev-qa-db-fra.com

Il existe un moyen d'ajouter un wrapper autour des images postées?

Je dois ajouter un wrapper (je vais utiliser <figure> dans mon exemple) autour des images publiées dans l'éditeur, avec une variable en fonction de la taille de l'image affichée (miniature, moyenne, grande, complète), quelque chose comme:

<figure class="$size">
    <a rel="attachment" href="....>
         <img... />
    </a>
</figure>

J'ai déjà résolu la première étape en ajoutant l'encapsuleur avec un filtre à travers image_send_to_editor, mais je ne trouve pas le moyen d'obtenir la taille de l'image pour pouvoir l'ajouter à la classe.

Un indice?

Le hook image_send_to_editor transmet toute une gamme de paramètres, pas seulement le code HTML. L'un d'eux est la taille. Pour l'obtenir, accrochez votre filtre en passant 8 comme nombre de paramètres pris en charge:

add_filter('image_send_to_editor', 'my_filter_cb'), 10, 8);

et modifiez l'en-tête de votre fonction pour les récupérer tous:

function my_filter_cb ($html, $id, $caption, $title, $align, $url, $size, $alt) {
    ...
}
3
wyrfel