facebook email

Come recuperare elenco articoli di WordPress

Ti trovi in:
  1. blog Come recuperare elenco articoli di WordPress

Pubblicato il , aggiornato il 16 Dicembre 2021

Come recuperare l’elenco articoli di WordPress senza usare un plugin? In questa guida vedremo il codice in Php necessario per creare la sezione dei post correlati per i tuoi articoli.

Inoltre potrai creare uno shortcode per inserire la tua sezione personalizzata in ogni punto delle tue pagine, vediamo subito come fare:

La funzione necessaria per fare questo è “get_posts($arg)” del core di WordPress.

help_outline

Come recuperare l’elenco articoli di WordPress

Abbiamo detto che la funzione necessaria per recuperare gli articoli di WordPress è get_posts($arg), vediamo come funziona.

Ti lascio il link alla documentazione ufficiale per maggiori dettagli.

Il parametro passato a questa funzione deve essere un array che di base è vuoto. Grazie a questo parametro possiamo filtrare i post per categoria, ID, nome ma anche escludere alcuni post dalla ricerca.

$arg = array(
          'category' => ‘nome-prima-categoria’, ‘nome-seconda-categoria’,
          'numberposts' => 4,
          'include' => array(5, 6),
          'exclude' => array($post->ID),
          'orderby' => 'modified',
          'order' => 'DESC',
        );

$related = get_posts($arg); //restituisce un array di post che corrispondono alla query
  • $arg: deve essere un array anche vuoto
  • ‘category’: categoria dalla quale recuperare gli articoli, può essere una lista separata da virgola oppure una stringa. In ogni caso contiene il nome della categoria scritto minuscolo e con un trattino al posto degli spazi.
  • ‘numberposts’: numero (int) che indica il numero di post massimi da mostrare.
  • ‘include’: array di numeri (int) o singolo numero che indica l’ID dei post da includere nella query
  • ‘exclude’: come ‘include’ ma serve per escludere. È molto utile per escludere l’articolo corrente se inserito nel file single.php
  • ‘order’: stringa ‘ASC’ oppure ‘DESC’ in base all’ordine ascendente o discendente.

Il parametro ‘orderby’ serve appunto per ordinare i risultati della query e necessita di un elenco di voci separato.

‘orderby’ =>

  • ‘none’: nessun ordine.
  • ‘ID’: in base all’ID degli articoli.
  • ‘author: in base all’ID dell’autore dei post.
  • ‘title’: Ordine alfabetico del titolo.
  • ‘date’: data di pubblicazione.
  • ‘modified’: data di ultima modifica.
  • ‘parent’: ordina in base all’ID del post genitore.
  • ‘rand’: casuale.
  • ‘comment_count’: in base al numero di commenti.
help_outline

Stampare a video l’elenco articoli

Per stampare a video gli articoli recuperati dalla query abbiamo bisogno di un ciclo foreach in questo modo:

foreach($related as $post) {
	// codice
	echo $post->ID;
	// codice
}

I parametri che si possono stampare a video sono:

  • ID: $post->ID;
  • Titolo: $post->post_title;
  • Riassunto: $post->post_excerpt;
  • Stato: (pubblicato, in attesa di revisione o bozza) $post->post_status;
  • Possibilità di commentare: $post->comment_status;
  • Ping attivati: $post->ping_status;
  • Password del post: $post->post_password;
  • Slug del post: $post->post_name;
  • Contenuto: $post->post_content;
  • $post->to_ping;
  • $post->pinged;
  • Data di pubblicazione: $post->post_date;
  • Data ultima modifica: $post->post_modified;
  • $post->post_modified_gmt;
  • $post->post_content_filtered;
  • Post genitore: $post->post_parent;
  • URL del post: $post->guid;
  • $post->menu_order;
  • Tipo di post: (post, page ecc.. )$post->post_type;
  • $post->post_mime_type;
  • Numero commenti: $post->comment_count;
  • $post->filter;
help_outline

Shortcode per WordPress

Se vuoi creare uno shortcode per utilizzare il tuo codice in qualunque parte del tuo sito allora puoi farlo usando questo codice.

function my_function() {
  ob_start();
  
    $arg = array( // codice per filtrare i post
          'category' => ‘nome-prima-categoria’, ‘nome-seconda-categoria’,
          'numberposts' => 4,
          'include' => array(5, 6),
          'exclude' => array($post->ID),
          'orderby' => 'modified',
          'order' => 'DESC',
        );

$related = get_posts($arg); //restituisce un array di post che corrispondono alla query

foreach($related as $post) { //ciclo per mostrare tutti i post richiamati
	// codice
	echo $post->ID;
	// codice
}

  $content = ob_get_clean();
  return $content;
}
add_shortcode('my_shortcode_name', 'my_function');

Per richiamare lo shortcode dovrai usare questo codice:

[my_shortcode_name]

Contattaci!

Preventivo sempre gratuito

Fabio Fresia, fondatore e titolare di Eureka Web di Asti

perm_device_information366 - 400 9542       emailinfo@agenziawebeureka.it

perm_identity
alternate_email
phonelink_ring
message