Ciao, io sono Giuseppina

Wordpress & Web Developer Freelance

Pixy Labs è il mio studio web

WordPress: limitare i post visualizzati

Oggi mi è passata sotto gli occhi una funzione di WordPress che non mi capitava di utilizzare da un pò.

Tutti conoscono il Loop di WordPress che utilizziamo per recuperare e visualizzare i nostri bei post. Tutti sanno come impostare dal pannello di controllo di WordPress il numero di post visualizzati in home ad esempio.

Ma cosa succede se vogliamo creare una pagina particolare, che visualizzi, ad esempio solo 3 o 4 post?

Non è poi così complicato proprio grazie a query_posts().

Questa funzione nasce unicamente con lo scopo di modificare il Loop.

Un esempio tratto direttamente da wordpress.org del suo utilizzo:
[php]
//The Query
query_posts(‘posts_per_page=5′);
//The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
..
endwhile; else:
..
endif;
//Reset Query
wp_reset_query();
?>[/php]

Quindi la funzione va chiamata appena prima dell’ inizio del Loop e la funzione genererà una nuova richiesta tenendo conto dei parametri inseriti.
In questo modo è possibile personalizzare il loop con una serie ben fornita di parametri:

  • categoria
  • tag
  • autore
  • recuperare un unico post o un’ unica pagina
  • recuperare i post per status
  • sticky post
  • tempo

Bella funzione no?

Categorie: Wordpress | Pubblicato il 2 settembre 2010

Comments & Opinions

io penso alle cose serie…. ed un pò alle cose frivole… comunque complimenti per il tuo sito, io mi cimento nella creazione di siti e campagne adwords, e quindi navigo parecchio… e tu sei spesso fra le mie consultazioni… ;)
PietroWeb.Com

ciao! post favoloso.
mi hai fatto venire un dubbio però: se io volessi creare un homepage con 3 mini loop per gestire tre blocchi di notizie provenienti da 3 categorie diverse, come posso fare? Attualmente riesco, il problema è che il loop principale mi fa vedere anche altri post che non voglio :(

grazie, che gentile *_*
allora, i mini loop che ho utilizzato sono questi:

file index.php

***********************

News

<img src="” alt=”" />

<a href="” rel=”bookmark”>


<div id="post-” >

‘alignleft’ ), array(‘alt’ => ”.get_the_title().”));} else { ?>

<a href="” rel=”bookmark” title=”Permanent Link to “>

<a href="”>Leggi tutto

‘Pages: ‘, ‘after’ => ”, ‘next_or_number’ => ‘number’)); ?>

<!–/post—>

Pubblicazioni

<img src="” alt=”" />
<a href="” rel=”bookmark”>

Contributi

<img src="” alt=”" />
<a href="” rel=”bookmark”>

Not Found
Sorry, but you are looking for something that isn’t here.

*******************************

spero di non avervi intasato il blog :D
grazie ancora.

    In realtà da quello che hai postato non si capisce molto di più :)
    In linea generale dovresti creare tre loop come quello dell’ articolo, ovviamente se vuoi visualizzare tre post per loop, avrai:

    //The Query<br /> query_posts('posts_per_page=3&cat=1');<br /> //The Loop<br /> if ( have_posts() ) : while ( have_posts() ) : the_post();<br /> ..<br /> endwhile; else:<br /> ..<br /> endif;<br /> //Reset Query<br /> wp_reset_query();<br />

    Come vedi ora c’è anche cat=1 dove 1 è l’ id della tua categoria. Spero di essere stata chiara. :)

Eccomi!
Alora temo di non poter postare codice php.. perchè sono rimasti solo alcuni riferimenti html. Forse, grazie al tuo suggerimento ho effettivamente capito come funziona il loop. Devo mettere tutto a monte di if ( have_posts() )….
GRAZIE!!! :) ))

Provato ad inserire il codice php tra i tag ‘<code>’ e ‘</code>’?

Allora, non avevo capito che bastava inserire al di sopra del mio loop la stringa:

query_posts('posts_per_page=3&cat=1');
In questo modo ho i 3 post in home page e i 10 post per ogni pagina !!!!

Io davvero non so coem ringraziarti, mi hai risolto un problema incredibile. Grazie davvero!!!
Spero in futuro di poterti essere utile in qualsiasi modo.

Ciao e ancora grazie :) ))

And you? What do you think about this?

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