Very short trick: WordPress, resettare una query

mercoledì 9 settembre, 2009

A me capita spessissimo di personalizzare le Home Page (index.php), o altre sezioni come ad esempio la Sidebar, di un sito Web realizzato con WordPress. Molte delle personalizzazioni riguardano loop con parametri specifici, al fine di visualizzare ad esempio gli ultimi articoli di una specifica categoria o tag. Questa operazione la svolgo quasi sempre utilizzando la query_posts(). Quando si esegue una query_posts() vengono influenzate anche alcune variabili globali e, spesso, si hanno comportamenti fastidiosi quando – subito dopo – si usano funzioni come is_category() o is_page(). Dalla release 2.3.0 di WordPress è disponibile una comoda funzione che ha proprio il compito di resettare lo stato alterato da query_posts(): wp_reset_query().
Per utilizzarla è sufficiente chiamare la funzione al termine del nostro loop personalizzato, in modo da non lasciare traccia nel sistema e non influenzare così altre funzioni che fanno riferimento alle variabili globali utilizzate da query_posts():

1
2
3
4
// esempio in una ipotetica index.php
// a fine pagina, dopo aver eseguito una o più
// query_posts() personali
<?php wp_reset_query(); get_sidebar(); get_footer(); ?>

Post correlati

Questo articolo ti è stato utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Loading ...

Un commento a: “Very short trick: WordPress, resettare una query”

  1. 05 gen, 2010 Francesco:

    mi è stato davvero di grande auito il tuo post. :-) grazie

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre>                                  // blocco generico
<code></code>                                // blocco generico
[cc_actionscript][/cc_actionscript]          // Actionscript
[cc_actionscript3][/cc_actionscript3]        // Actionscript 3
[cc_css][/cc_css]                            // CSS Style Sheet
[cc_html][/cc_html]                          // HTML
[cc_js][/cc_js]                              // Javascript
[cc_objc][/cc_objc]                          // Objective-C
[cc_php][/cc_objc]                           // PHP
[cc_sql][/cc_sql]                            // SQL