Query Inside Post – Plugin Wordpress pour insérer facilement une boucle dans un billet
Query Inside Post (QIP) est un plugin qui va vous permettre d'insérer une boucle personnalisée à l'intérieur d'un billet via un tout petit bout de code !
A qui s'adresse "Query Inside Post" ?
Principalement aux personnes qui font régulièrement des listings de leur billets. Le coté pratique, c'est que l'on va pouvoir créer un listing personnalisé très facilement.
Edit 22/04/08: permet aussi d'afficher une liste de liens n'importe où dans votre thème !
Installation
- Téléchargez le plugin
- Uploadez le dossier du plugin dans le dossier /wp-content/plugins/ de votre blog
- Activez le plugin depuis l'interface d'administration de votre blog (Plugins)
Voilà c'est installé !
Utilisation
Commencez un nouveau billet, et à l'endroit où vous voulez insérer le listing personnalisé, utilisez le code suivant:
- Les Sprites CSS
- 93 liens sur PHP, Wordpress, Photoshop, jQuery, CSS3, ...
- 58 liens sur inspiration, Wordpress, typographie, javascript, ...
- 50 liens sur Wordpress, jQuery, CSS, design ...
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
Il vous faut remplacer les attributs selon ce qui vous conviens. Par exemple, pour afficher une liste des 5 derniers billet contenant le tag google, placez le code suivant:
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
- Google Apps Sync compatible avec Microsoft Outlook
- Google prend en compte les liens en javascript
- Comment recevoir vos e-mails Gmail par SMS sur votre mobile ?
- Page Speed concurence YSlow (plugin firebug)
Simple non ?
Et si vous voulez afficher une liste directement dans votre thème:
Donc par exemple, pour afficher la liste des 10 derniers billets de la catégorie 5 dans une liste ordonnée:
Voici la liste des attributs possible (voir aussi query_posts()):
Par défaut, affiche la liste des 5 derniers billets sous forme de lien.
- request: Vide par défaut. Pour les utilisateurs expérimentés, permet d'envoyer sa propre requête (ex:
) - cat: Vide par défaut. Permet de préciser l'ID de la catégorie (ex:
ouou) - category_name: Vide par défaut. Permet de préciser le nom de la catégorie (ex:
) - tag: Vide par défaut. Permet de préciser le nom (slug) du tag (ex:
ouou) - order: "desc" par défaut. Permet de préciser l'ordre de tri (ex:
ou) - orderby: "post_date" par défaut. Permet de préciser le paramètre de tri (ex:
ouou) - author: Vide par défaut. Permet de préciser l'ID de l'auteur (ex:
ouou) - author_name: Vide par défaut. Permet de préciser le nom de l'auteur (ex:
) - showposts: 5 par défaut. Permet de préciser le nombre d'éléments a retourner (ex:
)- Les Sprites CSS
- 93 liens sur PHP, Wordpress, Photoshop, jQuery, CSS3, ...
- 58 liens sur inspiration, Wordpress, typographie, javascript, ...
- 50 liens sur Wordpress, jQuery, CSS, design ...
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
- 88 liens sur Wordpress, jQuery, typographie, CSS, webdesign ...
- Wordpress : afficher toutes les miniatures liées à un article sur les pages média
- Lancement des mobiliens [projet perso]
- Wordpress : lien pour envoyer la page par e-mail
- Gérez la typographie de Wordpress via wp-Typography
- offset: Vide par défaut. Permet de préciser l'offset (ex:
)- 50 liens sur Wordpress, jQuery, CSS, design ...
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
- 88 liens sur Wordpress, jQuery, typographie, CSS, webdesign ...
- Wordpress : afficher toutes les miniatures liées à un article sur les pages média
- Lancement des mobiliens [projet perso]
- beforelist:
<ul class="wlist">par défaut. Permet de préciser la tag se trouvant au début de la liste (ex:<ol>- Les Sprites CSS
- 93 liens sur PHP, Wordpress, Photoshop, jQuery, CSS3, ...
- 58 liens sur inspiration, Wordpress, typographie, javascript, ...
- 50 liens sur Wordpress, jQuery, CSS, design ...
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
</ul> par défaut. Permet de préciser la tag se trouvant à la fin de la liste (ex: )<li> par défaut. Permet de préciser la tag se trouvant au début de chaque élément (ex: <li><p>Les Sprites CSS
</li> par défaut. Permet de préciser la tag se trouvant à la fin de chaque élément (ex: - Les Sprites CSS</p></li>
- 93 liens sur PHP, Wordpress, Photoshop, jQuery, CSS3, ...</p></li>
- 58 liens sur inspiration, Wordpress, typographie, javascript, ...</p></li>
- 50 liens sur Wordpress, jQuery, CSS, design ...</p></li>
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)</p></li>
)Chaque attribut est facultatif.
On peut évidement cumuler les attributs (ex:
- Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
- Google Apps Sync compatible avec Microsoft Outlook
- Google prend en compte les liens en javascript
- Comment recevoir vos e-mails Gmail par SMS sur votre mobile ?
- Page Speed concurence YSlow (plugin firebug)
/! N'utilisez pas l'attribut "cat" en même temps que l'attribut "tag" (bug wordpress), c'est ou l'un ou l'autre
Vous pouvez tout à fait insérer plusieurs listes, avec des paramètres différents, dans le même billet.
Quelques exemples
Par exemple, vous administrez un blog "People" et vous voudriez faire un article résumé sur la "Star Academy" (oh, le beau sujet !). Et évidement vous voudriez afficher tous vos articles parlant de Bertrand et de Lucie ...
Tous connaitre sur Bertrand:
Enfin voilà, vous avez compris le principe !
Conclusions
Si vous utilisez vraiment beaucoup de listes dans vos billets, vous devriez envisager d'utiliser le plugin wp-cache pour Wordpress. Car celà engendre pas mal de requêtes qui peuvent se révéler gourmande en ressources CPU.
Vous pouvez évidement personnaliser la manière dont s'affiche la liste en éditant le fichier qip.php. Gardez juste en tète que ça affectera toutes vos listes !
Je n'ai pas vraiment le temps ni les moyens d'approfondir ce plugin, mais si un développeur motivé passe dans le coin, voici les fonctions qu'il serait bon d'ajouter:
- ajout d'une page d'administration
- possibilité de créer plusieurs templates de liste (via la page administration)
Guide pour mieux gérer vos emails via gmail (multicompte, redirection, ...)
Comment réussir vos concours sur vos blogs ?
Brève Wordpress: 40 liens, thèmes, plugins et astuces en tout genre !
Ajouter un lien pour envoyer la page par e-mail
J’ai un problème avec l’ouverture du fichier qip.zip.
(j’ai un avertissement comme quoi le fichier n’est pas valide)
Je viens d’installer le plugin et en le testant, j’ai constaté qui si j’affichais une liste d’article, alors les liens d’édition et de commentaire de en bas de l’article pointent sur le dernier article de la liste et non sur l’article contenant cette liste (si vos tests ont été fait avec le skin de ce site, il n’ont effectivement pas pu mettre ce problème en lumière puisque vous avez placé ces liens en haut de message).
Apparemment l’appel à sc_wlist écrase la variable globale $post à laquelle il est fait référence quand on appelle la fonction the_post().
Une façon (pas forcément la plus élégante mais bon, ça a le mérite de marcher) semble être de sauvegarder la valeur de cette variable en début de fonction et la remettre en fin de fonction.
Ce dui donne :
- en début de fonction (avant le extract), ajouter :
global $post;
$tempPost = $post;
- en fin de fonction (avant le return), ajouter :
$post = $tempPost;
De cette manière on peut continuer à afficher les liens en bas des articles.
@StefB23
Ton problème est résolu ?
@Darathor
Ah décidément, je pensais ètre débarrassé de ce bug, bon j’intègre ta « bidouille » dans la prochaine mise à jour (qui va arrivé dans la journée ou demain). Merci
Super ton plugin merci !
C’est exactement ce dont j’avais besoin.
Bonne continuation
Bonjour, votre plugin est très efficace et va peut-être me permettre de résoudre mon problème sur la page d’accueil de mon site.
Je cherchais effectivement une solution pour afficher plusieurs posts sur un seul post (accueil). L’utilisation d’une liste et de tag est très pratique et judicieuse. Par contre dans les attributs disponibles (tag, author…) comment peut-on inclure au niveau de la liste un résumé de l’article avec par exemple 125 caractères + « … » + éventuellement une vignette de la photo de l’article.
Avez-vous une idée ?
Par avance merci
@sébastien
Pour afficher du contenu et +, il faut que tu modifie légèrement le plugin.
Dans la fonction « qip », modifie la ligne :
Il te suffit d’utiliser les marqueurs que tu veux: http://codex.wordpress.org/fr:Marqueurs_de_Modele
Attention toutefois qu’il s’agit d’utiliser les marqueurs pour qu’ils renvoient une chaine et non un « echo »
Votre plug-in permet-il de rechercher des images dans les posts et tout le contenu d’un site web?
une chose bien étrange ce produit…
j’ai mis la boucle (5 derniers articles pour un tags) après la balise “more” d’un de mes articles…
à l’affichage no problem sauf que dans le flux rss Feedburner et dans les email feedburner adressés à partir de ce flux, le derniers article de la boucle remplace l’article courant (sauf le titre)…?
(j’ai téléchargé la dernière version ci dessus)
Bonjour, existe t’il un moyen d’EXCLURE un tag ?
Par exemple si je veux tous les posts qui contiennent tag1 SANS tag2 ? J’imagine qu’on ne peut pas utiliser le symbole « - » puisqu’il est utilisé dans les slugs… Ce serait vraiment une fonctionnalité intéressante.
Ce plug-in est merveilleux. HALLELUTRA !
C’est exactement ce que je cherche depuis trèèèèès longtemps maintenant.
Merci beaucoup messire
Sous 2.6 (je ne sais pas pour les autres), l’activation du plugin implique que les pages ne peuvent plus être « découpées » !!! ()
Comment éviter ceci ? J’en ai besoin….
Super plugin sinon !
The plugin doesn’t seem to want to list items if there is a space in the tag. eh If I use the tag Human Resources, it won’t grab the post, but if I use HR it does. I know the wordpress recognises multi-word tags as the only requirement is that they are comma separated. Does your plugin only work with single word tags, or is there a tweak I am missing to make it use multi-word tags.
Merci
AJ
Salut, ton plugin ne marche plus
Je suis sous wordpress 2.8.2, il y a t-il une solution ?
Merci beaucoup !