Sélectionner une page

J’utilise NextGen Gallery comme plugin la plupart du temps si je souhaite une galerie photo avec plusieurs albums.
J’ai installé le plugin, créé des albums, créé des galeries d’images… et là… ben le client me demande une page avec tous les albums qui mèneront aux galeries de ceux-ci, bref simplement afficher la liste des albums NextGen Gallery
Bref, étonné quand même que les développeurs de NextGen Gallery n’y ont pas pensé, je me suis fait une petite fonction qui va faire tout cela.

Comment afficher la liste des albums NextGen Gallery

Voici la fonction :
[pastacode manual= »%2F*%20%0D%0A%20*%20Affiche%20la%20lise%20des%20albums%20%0D%0A%20*%20NE%20PAS%20OUBLIER%20DE%20CREER%20UNE%20PAGE%20PAR%20ALBUM%0D%0A%20*%2F%0D%0Afunction%20ngg_liste_albums(%20%24args%20%3D%20null%2C%20%24thumbs%20%3D%201)%20%7B%0D%0A%0D%0A%20%20%20%20global%20%24wpdb%3B%0D%0A%20%20%20%20%2F*%20On%20va%20chercher%20le%20pr%C3%A9fix%20utilis%C3%A9%20*%2F%0D%0A%20%20%20%20%24prefix%20%3D%20%24wpdb-%3Eprefix%3B%0D%0A%20%20%20%20%24liste_albums%20%3D%20%24wpdb-%3Eget_results(%20%24wpdb-%3Eprepare(%20%22SELECT%20previewpic%2C%20slug%2C%20name%2C%20albumdesc%20FROM%20%22.%24prefix.%22ngg_album%20ORDER%20by%20id%22%2C%20%24o_id%20)%20)%3B%0D%0A%20%20%20%20%2F%2Fecho%20’req%20%3A%20SELECT%20previewpic%2C%20slug%2C%20name%20FROM%20′.%24prefix.’ngg_album%20ORDER%20by%20id’%3B%0D%0A%20%20%20%20%24output%20%3D%20’%3Cdiv%3E’%3B%0D%0A%20%20%20%20if%20(%20count(%20%24liste_albums%20)%20%3E%200%20)%20%7B%0D%0A%0D%0A%20%20%20%20%20%20%20%20foreach%20(%20%24liste_albums%20as%20%24albums%20)%20%7B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20On%20va%20chercher%20l’image%20correspondante%20de%20l’album%20*%2F%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%24pic%3D%20%24wpdb-%3Eget_row(%20%24wpdb-%3Eprepare(%20%22SELECT%20*%20FROM%20%22.%24prefix.%22ngg_pictures%20WHERE%20pid%20%3D%20%22.%24albums-%3Epreviewpic.%22%20LIMIT%201%22%2C%20%24o_id%20)%20)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20On%20r%C3%A9cup%C3%A8re%20le%20chemin%20vers%20l’album%20*%2F%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%24galerieid%20%3D%20%24wpdb-%3Eget_row(%20%24wpdb-%3Eprepare(%20%22SELECT%20*%20FROM%20%22.%24prefix.%22ngg_gallery%20WHERE%20gid%20%3D%20%22.%24pic-%3Egalleryid.%22%22%2C%20%24o_id%20)%20)%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if(%24galerieid-%3Egid%3E%3D1)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24output%20.%3D%20’%3Cdiv%20class%3D%22ngg-album-compact%22%20style%3D%22float%3A%20left%3Bwidth%3A%20250px%3B%22%3E’%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if(%24thumbs%3D%3D1%20%26%26%20isset(%24pic-%3Efilename))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24output%20.%3D%20’%3Cdiv%20class%3D%22ngg-album-compactbox%22%3E%3Ca%20class%3D%22Link%22%20href%3D%22′.%24path. ».%24albums-%3Eslug.’%2F%22%20%2F%3E%3Cimg%20class%3D%22Thumb%22%20alt%3D%22′.%24albums-%3Ename.’%22%20src%3D%22%2F’.%24galerieid-%3Epath.’%2Fthumbs%2Fthumbs_’.%24pic-%3Efilename.’%22%20width%3D%22100%22%20heigth%3D%2275%22%20%2F%3E%3C%2Fa%3E%3C%2Fdiv%3E’%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24output%20.%3D%20’%3Ch4%3E%3Ca%20href%3D%22′.%24path. ».%24albums-%3Eslug.’%2F%22%3E’.%24albums-%3Ename.’%3C%2Fa%3E%3C%2Fh4%3E’.%24albums-%3Ealbumdesc. »%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24output%20.%3D%20’%3C%2Fdiv%3E’%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%24output%20%3D%20’Aucun%20album%20trouv%C3%A9%20!’%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20%24output%20.%3D%20’%3C%2Fdiv%3E’%3B%0D%0A%20%20%20%20echo%20%24output%3B%0D%0A%7D » provider= »manual » lang= »php »/]

Modèle de page pour afficher la liste des albums NextGen Gallery

Puis j’ai créé un modèle de page à adapter selon votre thème :
[pastacode manual= »%3C%3Fphp%0D%0A%2F*%0D%0ATemplate%20Name%3A%20Albums%20Photos%0D%0A*%2F%0D%0A%0D%0Aget_header()%3B%20%3F%3E%0D%0A%0D%0A%09%3C!–%20CONTENT%20–%3E%0D%0A%09%3Cdiv%20id%3D%22content%22%3E%0D%0A%09%09%3Csection%20id%3D%22main-content%22%20role%3D%22main%22%20class%3D%22full-height%22%3E%0D%0A%0D%0A%09%09%09%20%3Cheader%20class%3D%22entry-header%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch1%20class%3D%22entry-title%22%3ENos%20Galeries%20Photos%3C%2Fh1%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fheader%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22entry-content%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%3Fphp%20echo%20ngg_liste_albums()%3B%20%3F%3E%0D%0A%0D%0A%09%09%09%3C%3Fphp%0D%0A%09%09%09%09%2F%2F%20If%20comments%20are%20open%20or%20we%20have%20at%20least%20one%20comment%2C%20load%20up%20the%20comment%20template%0D%0A%09%09%09%09if%20(%20comments_open()%20%7C%7C%20’0’%20!%3D%20get_comments_number()%20)%0D%0A%09%09%09%09%09comments_template(%20 »%2C%20true%20)%3B%0D%0A%09%09%09%3F%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22divider-solid%22%2F%3E%3C%2Fdiv%3E%0D%0A%09%09%3C%2Fsection%3E%0D%0A%09%3C%2Fdiv%3E%0D%0A%09%3C!–%20END%20CONTENT%20–%3E%0D%0A%0D%0A%09%3C%3Fphp%20get_sidebar()%3B%20%3F%3E%0D%0A%0D%0A%3C%3Fphp%20get_footer()%3B%20%3F%3E » provider= »manual » lang= »php »/]

Et ensuite ?

Il faut ensuite évidement penser à faire une page par album et le tour est joué !
Qu’en pensez-vous ? Pouvons-nous aussi simplifier cette fonction et ainsi l’améliorer ?
A vous de jouer !

Florent Maillefaud

Afficher la liste des albums NextGen Gallery pour WordPress 1Webmaster à Sablons (Isère) / Création de sites internet WordPress.

Micro-entrepreneur depuis 2012, je vous propose la création ou la refonte de votre site internet sous WordPress et à votre image.

Que ce soit un site vitrine, un blog ou un site e-commerce pour votre entreprise ou association, laissez votre empreinte sur le web !

Share This