WordPress, Galerie Photos, Media manager – Tirer profit du manager de médias pour publier des galeries photos



Depuis, la sortie de WordPress 2.5, vous pouvez gérer de manière assez sophistiqué la publication de galerie de photos sans l’ajout d’une extension fonctionnelle quelconque. Avec une bonne pratique du gestionnaire de média, de l’attachement de ces mêmes médias aux articles et l’utilisation de la pseudo balise

[gallery]

Vous serez à même de gérer la plupart de vos galeries de photos au sein de WP. Il est possible de manipuler cette pseudo-variable en lui affectant des éléments. C’est ce que nous allons voir dans cet article, on va dans un deuxième temps modifier Le fichier media.php qui gère la balise dans wp-includes/media.php pour lui ajouter la vue prettyPhoto.

Cette réflexion sur le bonne usage des galeries sous WordPress s’inscrit naturellement dans le précèdent article qui avait été consacré aux metadonnées (metadas) qui étaient injectées dans les photos.

Le header du fichier wp-includes/media.php

 
/**
 * The Gallery shortcode.
 *
 * This implements the functionality of the Gallery Shortcode for displaying
 * WordPress images on a post.
 *
 * @since 2.5.0
 *
 * @param array $attr Attributes attributed to the shortcode.
 * @return string HTML content to display gallery.
 */

Gérer ces images dans WordPress

WordPress dispose d’un manager très puissant pour manipuler vos images une fois uploadés dans le media manager pour ensuite les attacher notamment aux articles.

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Attacher une image à un article

On va voir la procédure la plus simple pour attacher une image à un article.

On recherche l’article
Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

On attache l’image à l’article
Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Les paramètres du resize d’image dans WordPress

Lorsque vous passez par le media manager, automatiquement les images vont être resizés à la volée. Ces images vont en fait constituer le vivier de formats de photo appelés via les options du paramètre size qui sont : thumbnail, medium, large et full.

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Quelques cas d’école

Il vous suffit par exemple de chercher l’id d’une des images attachées à cette article et de l’exclure à l’aide de la propriété exclude. On trouve cette id via le media manager attachment_id=504.

[gallery link="file" columns="2" order="ASC" orderby="title" size="thumbnail" ]

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

[gallery link="file" columns="2" order="ASC" orderby="title" size="thumbnail" exclude="504" ]

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

La valeur columns affecte l’apparence de votre galerie en déterminant le nombre de colonnes de la matrice de photos. Par exemple, vous disposez de 9 photos, en mettant 3, vos photos vont s’afficher sur une matrice 3×3. La valeur id="441" vous permet d’appeler une galerie attachée à un tout autre article dont l’id est 441 et on en profile pour exclure une photo qui se trouve dans cette galerie.

Pour la petite histoire, on va donc attaché des photos de suisse à une galerie consacrée à la Corse !

La galerie complète de l’article 441

[gallery link="file" columns="2" order="ASC" orderby="title"  id="441" size="thumbnail" ]

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

La galerie complète de l’article 441 exclusion faite de la photo 486

[gallery link="file" columns="2" order="ASC" orderby="title"  id="441" size="thumbnail" exclude="486" ]

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

[gallery link="file" columns="1" order="DESC" orderby="title"  id="441" size="medium"]

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Le thème de notre Blog WP ne se prête pas trop à un affichage sur deux colonnes et dans un format d’image plus grand type size="large" ou size="full" mais voici les bouts de code à tout hasard.

[gallery link="file" columns="1" order="DESC" orderby="title"  id="441" size="large"]
[gallery link="file" columns="1" order="DESC" orderby="title"  id="441" size="full"]

Vous pouvez aussi contrôler les balises pour l’inclusion des caractéristiques de l’image : itemtag, icontag, captiontag.

[gallery link="file" columns="1" order="DESC" orderby="title"  id="441" size="thumbnail" itemtag="p" icontag="p" captiontag="p" exclude="486" ]

Les options de la balise

Voici les informations concernant les options de la balise galerie de photos dans WordPress, de quoi faire du vrai photoblogging !

Options

The following basic options are supported:

columns
specify the number of columns. The gallery will include a break tag at the end of each row, and calculate the column width as appropriate. The default value is 3. If columns is set to 0, no row breaks will be included. For example, to display a 4 column gallery:

[gallery columns="4"]

id
specify the post ID. The gallery will display images which are attached to that post. The default behaviour if no ID is specified is to display images attached to the current post. For example, to display images attached to post 123:

[gallery id="123"]

size
specify the image size to use for the thumbnail display. Valid values include “thumbnail”, “medium”, “large” and “full”. The default is “thumbnail”. The size of the images for “thumbnail”, “medium” and “large” can be configured in WordPress admin panel under Settings > Media. For example, to display a gallery of medium sized images:

[gallery size="medium"]

Some advanced options are available:

orderby
specify the sort order used to display thumbnails. The default is “menu_order ASC, ID ASC”. “RAND” (random) is also supported.

itemtag
the name of the XHTML tag used to enclose each item in the gallery. The default is “dl”.

icontag
the name of the XHTML tag used to enclose each thumbnail icon in the gallery. The default is “dt”.

captiontag
the name of the XHTML tag used to enclose each caption. The default is “dd”. For example, to change the gallery markup to use div, span and p tags:

link
you can set it to “file” so each image will link to the image file. The default value links to the attachment’s permalink.

include
comma separated attachment IDs, will show only the images from these attachments.

exclude
comma separated attachment IDs, excludes the images from these attachments. Please note that include and exclude cannot be used together.

Source : http://codex.wordpress.org/Gallery_Shortcode

Joindre prettyPhoto à vos galeries sous WordPress

On va tenter de coupler facilement cette balise avec le célébrissime affichage connu sous le nom de prettyPhoto. Pour charger l’environnement nécessaire au bon fonctionnement de prettyPhoto, le plus simple est d’installer le plugin WordPress wp-prettyphoto

Nous avons effectuer des tests sur un WordPress en local sur un mac à l’aide de MAMP, avec un WordPresss Version 2.9.2 et le plugin WP prettyPhoto Version: 1.6. Il y a un petit bug à régler sur le plugin avec cette version de WordPresss. Le règlement se fait facilement, il faut placer la valeur autoplay sur true et donc cocher la checkbox.

True to Autoplay, False not to.
Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Une fois ce bug résolu, on va modifier le code pour générer la

[gallery]

qui se trouve dans wp-includes/media.php. La modification est simple, à l’aide des fonctions wp_get_attachment_image et wp_get_attachment_url, on va modifier la valeur $output en introduisant la balise

rel="wp-prettyPhoto[gallery]"

dans la ligne

<a rel="wp-prettyPhoto[gallery]"   href="$file">$img </a>

 
		$i = 0;
 
		foreach ( $attachments as $id => $attachment ) {
			/* $link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, $size, false, false) : wp_get_attachment_link($id, $size, true, false); */
 
			$img = wp_get_attachment_image($id, $size, false);
			$file = wp_get_attachment_url($id);
 
 
			$output .= "<{$itemtag} class='gallery-item' >";
			/* $output .= "<{$icontag} class='gallery-icon'> $link </{$icontag}>"; */
			$output .= "<{$icontag} class='gallery-icon'> <a rel="wp-prettyPhoto[gallery]"   href="$file">$img </a></{$icontag}>"; 
			if ( $captiontag && trim($attachment->post_excerpt) ) {
				$output .= "
					<{$captiontag} class='gallery-caption'>
					" . wptexturize($attachment->post_excerpt) . "
					</{$captiontag}>";
			}
			$output .= "</{$itemtag}>";
			if ( $columns > 0 && ++$i % $columns == 0 )
				$output .= '<br style="clear: both" />';
		}
 
		$output .= "
				<br style='clear: both;' />
			</div>n";
 
		return $output;
	}

Conlusion : Automatiquement toutes les images attachés à un article sont désormais disponibles dans la page via la balise gallery et dans une vue prettyPhoto. WordPress est donc bien nativement un e vrai outil de photoblogging pour ceux qui en doutaient encore !

Le choix de l’apparence de la div qui vient en surimpression
Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Affichage dark_rounded
Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

Affichage façon facebook
Wordpress, Galerie Photos, Media manager - Tirer profit du manager de médias pour publier des galeries photos

On a donc la possibilité de paramètrer complètement la galerie via le plugin, en chargeant cette balise rel="wp-prettyPhoto" notamment de faire défiler les photos de la galerie.

En savoir plus