Cheatsheet

Modifier le markup de la galerie d'image

Laisser un commentaire

Vous savez sans doute que WordPress permet d’insérer une galerie d’image directement à partir de la médiathèque. Cependant, le markup par défaut ne convient pas à tous les besoins. Aussi, il est possible de le modifier en filtrant le hook get_post_gallery.

add_filter('post_gallery', function ($string, $attr) {
    // On définit ici notre wrapper
    $output = '<div class="grid gallery">';

    // On récupère tous les ids des images de la galerie
    $posts = get_posts([('include' => $attr['ids'], 'post_type' => 'attachment')];

    // Puis pour chacune d'elle, génère la balise image avec les tailles qui conviennent pour notre usage
    // Ici une miniature (medium) et une grande pour le zoom dans un data attribute
    foreach($posts as $imagePost) {
        $output .= '<img src="' . wp_get_attachment_image_src($imagePost->ID, 'medium')[0] . '" data-bp="' . wp_get_attachment_image_src($imagePost->ID, 'large')[0] . '">';
    }

    $output .= '</div>';
    return $output;
});

Ce filtre permet vraiment de créer le markup selon nos besoin. Alternativement, si vous utilisez les galeries dans vos templates, il est possible d’utiliser get_post_gallery.

Commentaires

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```