Gallery

La Galerie de photos de WP vient juste d’être intégrée à WP2.5, il manque donc des options pour personnaliser cette galerie… C’est sûrement déjà développé par un plugin ?

Si ce n’est pas fait… voilà les pistes dans le code pour savoir comment ça agit:

./wp-admin/includes/media.php:65:function media_send_to_editor($html) {
./wp-admin/includes/media.php:242: return media_send_to_editor(’‘);
./wp-admin/includes/media.php:254: $html = apply_filters(’media_send_to_editor’, $html, $send_id, $attachment);
./wp-admin/includes/media.php:255: return media_send_to_editor($html);
./wp-admin/includes/media.php:283: return media_send_to_editor($html);
./wp-admin/includes/media.php:318: return media_send_to_editor($html);
./wp-admin/includes/media.php:353: return media_send_to_editor($html);
./wp-admin/includes/media.php:388: return media_send_to_editor($html);
./wp-admin/includes/media.php:487:function image_media_send_to_editor($html, $attachment_id, $attachment) {
./wp-admin/includes/media.php:508:add_filter(’media_send_to_editor’, ‘image_media_send_to_editor’, 10, 3);

La génération de la galerie dans le contenu de l’article

Il a fallu un peu chercher dans le code, mais à première vue, c’est assez flexible: c’est la fonction gallery_shortcode qui gère le code html de la galerie.

./wp-includes/media.php:333:add_shortcode(’gallery’, ‘gallery_shortcode’);
./wp-includes/media.php:335:function gallery_shortcode($attr) {

La fonction gallery_shortcode fait appel à la fonction get_children pour lire les images attachées à l’article. Puis une boucle va traiter chaque image/attachment pour générer le code HTML de l’album.

Au début de la fonction gallery_shortcode, il y a un court-circuit possible:

// Allow plugins/themes to override the default gallery template.
$output = apply_filters(’post_gallery’, ”, $attr);
if ( $output != ” )
return $output;

Il est ainsi possible d’ajouter un filtre sur le flux post_gallery et si ce filtre produit un code HTML, c’est ce seul code qui est pris en compte.

Le paramètre $attr est un tableau de valeurs array( “nom” => “valeur”).

Short Code

Les short_codes permettent de gérer facilement l’ajout de TAGS dans le contenu comme .

./wp-includes/shortcodes.php:132:add_filter(’the_content’, ‘do_shortcode’);

On aboutit à 2 niveaux de flexibilité: la gestion des short-codes s’effectue par un filtre sur ‘the_content’ et ce filtre peut gérer à son tour l’ensemble des short_codes. Ce qui évite de boucler plusieurs fois sur le même contenu pour traiter un seul short-code à chaque fois. En utilisant les short-codes, WP ne fait qu’un seul passage et essaie de traiter tous les short-codes dans le contenu de l’article.

Répondre

This text will be replaced