Loop multipli in WordPress

wordpress-logo2Ultimamente 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&amp;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&amp;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! ok emoticon

This entry was posted in Programmazione, Web e Web 2.0, Wordpress and tagged , , , . Bookmark the permalink.

2 Responses to Loop multipli in WordPress

  1. briciola says:

    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

  2. Antonio Cassano says:

    io però scusate l’ignoranza non ho capito dove inserire questo codice? in una pagina a caso?

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>