WpGuida

Guida Wordpress è una raccolta di tutorials e guide su temi, plugin e sviluppo in wordpress

  • Home
  • Notizie
  • Guide
    • Guida WordPress – Le Basi
    • Guida WordPress Avanzata
    • Guida W3 Total Cache
  • Tutorials
    • Ottimizzare WordPress
    • WordPress Plugins
    • WordPress Temi
    • WordPress Development
  • Tips and Tricks
  • Hosting WordPress
  • Software
  • Velocizzare WordPress
Ti trovi qui: Home / Wordpress Development / Visualizzare gli ultimi articoli con una query wordpress personalizzata
query wordpress personalizzata

Visualizzare gli ultimi articoli con una query wordpress personalizzata

30 Agosto 2014 di Dario Vinci Lascia un commento

Abbiamo visto e spiegato il wordpress loop e come creare un template di pagina wordpress. Ora possiamo quindi passare ad analizzare come visualizzare gli ultimi articoli con una query wordpress personalizzata. In alcuni casi infatti potrebbe verificarsi la necessità di creare una pagina che mostri solo gli articoli di una o più categorie oppure solo gli articoli scritti da un determinato autore oppure ancora solo gli articoli scritti in un determinato lasso di tempo.

Tutto ciò è reso possibile attraverso la definizione di alcuni parametri che ci permetteranno di stabilire delle regole ben precise che verrano utilizzate per filtrare gli articoli presenti sul nostro blog o sito.

Su internet per fortuna esiste un tool molto utile per generare una query wordpress personalizzata: Generatewp. Ma vi consiglio di seguire l’esempio sottostante per capire la struttura del codice prima di passare all’utilizzo del tool. Ciò vi permetterà di correggere eventuali errori e soprattutto vi farà acquisire le conoscenze necessarie a far si che il tool diventi realmente utile solo nei casi molto complessi.

QUERY WORDPRESS PERSONALIZZATA – UN ESEMPIO

Nell’esempio che segue troverete una query wordpress che mostrerá i post appartenenti alla categorie con ID 5,7 e 11 ordinati per data e mostrando 8 post per pagina.

<?php
// WP_Query arguments
$args = array (
'cat' => '5,7,11',
'pagination' => true,
'posts_per_page' => '8',
'order' => 'DESC',
'orderby' => 'date',
);

// The Query
$my_query = new WP_Query( $args );

// The Loop
if ( $my_query->have_posts() ) {
while ( $my_query->have_posts() ) {
$my_query->the_post();
// do something
}
}

// Restore original Post Data
wp_reset_postdata();
?>

Come possiamo vedere all’inizio del nostro codice viene definito l’array $args il quale conterrá i valori che andranno a comporre la nostra query. Una lista di tutti i parametri definibili è disponibile nella pagina relativa alla classe wp_query nel codex wordpress.

Dal momento che WP_Query è una classe verrà creata una nuova istanza della stessa mediante l’operatore new. A questo punto la nostra query wordpress personalizzata presenta una condizione if e un cliclo while molto simili a quelli che abbiamo già visto nel loop wordpress. La differenza in questo caso è che siamo noi ad indicare dove cercare gli articoli in base ai parametri definiti nell’array $args.

Subito dopo l’introduzione del ciclo while troverete //do something. Qui dovrete inserire il codice html e i template tag di wordpress che mostreranno le informazioni relative a ciascun articolo. Un esempio potrebbe essere:

//Chiudo il tag php per scrivere del codice HTML
?>
<ul>

<?php
// Riapro il tag php e inizio il Loop
if ( $my_query->have_posts() ) {
while ( $my_query->have_posts() ) {
$my_query->the_post(); ?>

<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php
}
} ?>
</ul>

QUERY WORDPRESS PERSONALIZZATA – IL CODICE FINALE

Il codice qui sopra quindi mostrerà una lista con i titoli degli ultimi articoli. In definitiva il codice finale sarà:

<?php
// WP_Query arguments
$args = array (
'cat' => '5,7,11',
'pagination' => true,
'posts_per_page' => '8',
'order' => 'DESC',
'orderby' => 'date',
);

// The Query
$my_query = new WP_Query( $args );

//Chiudo il tag php per scrivere del codice HTML
?>
<ul>

<?php
// Riapro il tag php e inizio il Loop
if ( $my_query->have_posts() ) {
while ( $my_query->have_posts() ) {
$my_query->the_post(); ?>

<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php
}
} ?>
</ul>

<?php
// Restore original Post Data
wp_reset_postdata();
?>

Naturalmente potete rimpiazzare il codice html che ho inserito con il vostro ricordandovi però di utilizzare i template tag di wordpress che trovate qui.

Archiviato in:Wordpress Development

Dario Vinci

Appassionato di Wordpress e del mondo tecnologico in generale, proud to be an apple fanboy and android lover.

Ti è piaciuto questo articolo?

Se vuoi ricevere via email tutti i miei nuovi articoli e tutorials su WordPress compila il box qui a fianco. Tranquillo, non riceverai alcuna email di spam ma solo contenuti di qualità!

Cerca

Facebook

WpGuida

Newsletter

Scarica ebook Guida Wordpress 4.x

Potrebbe Interessarti

aggiungere campi personalizzati nel form di registrazione di wordpress

[Obsoleto] Aggiungere campi personalizzati nel form di registrazione di WordPress

22 Dicembre 2014 da Dario Vinci

Guida W3 Total Cache - Page Cache

Guida W3 Total Cache: Page Cache

5 Aprile 2015 da Dario Vinci

Ottimizzare il database Wordpress con il plugin wp-sweep

Ottimizzare il database WordPress: Wp-Sweep

29 Aprile 2015 da Dario Vinci

Come mettere wordpress in manutenzione

Come mettere WordPress in manutenzione

2 Agosto 2015 da Dario Vinci

Rimuovere un plugin in Wordpress in modo definitivo

Rimuovere un Plugin su WordPress: ecco come farlo in modo appropriato!

30 Giugno 2016 da Dario Vinci

Random Post

De:comments è un plugin per commenti wordpress che rende social e accattivanti i commenti agli articoli del tuo sito

De:Comments, un nuovo plugin per commenti wordpress

query wordpress personalizzata

Visualizzare gli ultimi articoli con una query wordpress personalizzata

Widget CSS Classes

Widget CSS Classes: aggiungere uno stile personalizzato ai widget

Copyright © · 2019 WpGuida