L’autre jour, Henri du blog 2803, expliquait sur son blog 2 problèmes qu’il rencontrait sous WordPress.
L’un d’entre eux était:
Comment insérer toutes les images de son blog dans un article, mais avec de la pagination !
Sans pagination, c’est très simple. Il suffit d’utiliser la fonction get_posts() pour récupérer les images.
D’ailleurs petite précision, pour ne récupérer que les attachements de type « image », il faut préciser le paramètre :
‘post_mime_type’ => ‘image’
Pour gérer la pagination, j’ai choisi d’utiliser la pagination internet de WordPress, celle permise avec les marqueurs « nextpage ». Pour la galerie, j’utiliserai la même. Pour cela, j’ai été obligé de créer une petite extension permettant l’insertion d’un shortcode.
Voila le mode d’exécution :
- Je récupère l’article juste après la requête SQL de WordPress.
- Je force l’application du shortcode dans le contenu de l’article récupéré.
- Je récupère les images
- Je fais une boucle pour imprimer les images et tous les X images, j’imprime le marqueur « nextpage »
Ainsi, WordPress lors de l’affichage propose la pagination des articles. Pour cela, il ne faut pas oublier la fonction wp_list_pages() dans les fichiers single.php ou page.php (selon le cas article ou page).
Le shortcode permet de paramétrer, la taille des images, le nombre d’images par page et optionnellement l’ID d’un article parent. Tout cela est décortiqué dans le code de l’extension.
Vous pouvez retrouver cette extension depuis mon trac de plugins open-source, plus précisément dans le dossier Simple All Pictures.
Pour télécharger le fichier, allez en bas de la page, et sous l’intitulé « Download in other formats: », sélectionnez le format que vous voulez.
3 réponses à “Comment insérer toutes les images de son blog dans un article, et avec pagination ! Pour henri !”
Bonjour Je me demandais si cela pouvait rendre quelque chose comme ceci
https://www.abstractmachine.net/thesis/randomizer.php
Bonjour,
Les sources de cet article ne sont plus accessibles…
pourriez-vous me les transmettre ? je galère depuis 2 jours a essayer de faire ce type de choses…
Merci infiniment