Ultimamente mi sto appassionando alla realizzazione di temi per WordPress, quello che vedete qui nel blog, AllYear-Theme, l’ho disegnato io e ne vado moderatamente fiero, nel senso che è ancora in beta e con alcuni browser possono esserci problemi, soprattutto con IE6, tuttavia nella realizzazione di alcune pagine ho incontrato una problematica che può capitare spesso: l’utilizzo di Loop multipli all’interno dei nostri template di pagine, o semplicemente anche nel file index.php.
Ciò che sta alla base dei loop multipli è la necessità da parte dell’autore di mostrare più informazioni possibili sulla pagina, ecco alcuni casi d’uso in Home Page:
- Usare il Loop principale per mostrare gli ultimi post (i primi 10 ad esempio) ed uno secondario per mostrare i successivi 5 corredati da un breve testo descrittivo
- Raggruppare i post in categorie definite, in modo da guidare il visitatore nella scelta di ciò che andrà a leggere
- Mostrare i post contententi esclusivamente un particolare Tag
Gli utilizzi perciò sono molteplici, vediamo perciò come fare.
Caso 1 – mostrare i primi X post e i successivi 5:
< ?php
/*
* il numero di post da mostrare potete agevolmente cambiarlo
* anche dalle impostazione del vostro WordPress
*/
query_posts("showposts=10"); ?>
< ?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//codice relativo ai post principali
< ?php endwhile; endif; ?>
< ?php $id=($paged+1)*5;
query_posts("showposts=5&offset=${id}");
while (have_posts()) : the_post(); ?>
//codice del secondo loop
< ?php endwhile; ?>
Caso 2 – raggruppare i post in categorie definite
Questo ed il terzo caso si rifanno al primo, combinando opportunamente i due cicli:
< ?php $category_name="Nome Categoria";
/*
*il numero della categoria: andando a modificare una categoria del vostro blog
* vi appare un indirizzo del tipo: http://www.vostrosito.it/wp-admin/categories.php?action=edit&cat_ID=75
*/
$category_ID = 75;
<?php query_posts("category_name=$(category_name)"); ?>
//oppure
< ?php query_posts("cat=$(category_ID)"); ?>
< ?php while (have_posts()) : the_post(); ?>
//qui mostrate i vostri post
< ?php endwhile; ?>
Caso 3 – mostrare i post contenenti un particolare Tag
< ?php $tags="nometag"; //ricerca tag singolo
$tags = "nometag1, nometag2"; //ricerca O del primo, OPPURE del secondo
$tags = "nometag1+nometag2"; //ricerca di articolo che contengono il primo E il secondo
<?php query_posts("tag=${tags}"); ?>
< ?php while (have_posts()) : the_post(); ?>
//qui mostrate i vostri post
< ?php endwhile; ?>
In questo articolo abbiamo visto alcuni esempi. E’ chiaro che le possibilità sono molteplici e per questo vi rimando all’articolo ufficiale su WordPress.org. Buon lavoro! ![]()
Mi chiamo Denis Billi, ho 25 anni e sono della provincia di Ravenna. Mi sono laureato nell'estate del 2008 presso la facoltà di Ingegneria Informatica dell'università di Bologna e attualmente sto seguendo i corsi per la Laurea Specialistica in Ingegneria Informatica sempre all'università di Bologna.
Molto bello…complimenti. Peccato che alla fine rimandi al sito tutto in inglese, ed io non conosco la lingua. Cmq, posso chiederti come devo fare, per visualizzare l’intera categoria e non solo l’eleno a diiture iniziali? Boh, on ci apisco più nulla!!! Ciao ciao
io però scusate l’ignoranza non ho capito dove inserire questo codice? in una pagina a caso?