Come ottenere e visualizzare dati sui custom post types (esempi utili)

In questo articolo, ho voluto raggruppare alcuni esempi utili per ottenere di diversi tipi di dati dai custom post types di WordPress e come fare per visualizzarli in un template custom. Supponiamo di avere un …

Custom Post Types

In questo articolo, ho voluto raggruppare alcuni esempi utili per ottenere di diversi tipi di dati dai custom post types di WordPress e come fare per visualizzarli in un template custom.

Supponiamo di avere un custom post type denomitato “Events” e il suo slug di conseguenza sarà “events“, ovviamente potete e dovrete sostituirlo con il nome corretto del vostro custom post type. In questo articolo useremo questo caso per tutti gli esempi che andremo a fare.


Ottieni e visualizza i custom post types in WordPress

Per ottenere i post come risultato da un custom post type utilizziamo la classe WP_Query alla quale vanno passati una serie di argomenti e la andiamo ad utilizzare all’interno del ciclo (loop) WordPress per ottenere i risultati desiderati.

Questo primo snippet di codice è un esempio di come utilizzare il ciclo standard di WordPress per ottenere i dati dal tipo di post personalizzato, si può utilizzare o modificare nel proprio template per avere i risultati desiderati.

<?php
 
$args = array(
    'post_type' => 'events',
    'posts_per_page' => 5,
    );
 
$query = new WP_Query($args);
 
if($query->have_posts()):
    while($query->have_posts()):
        $query->the_post();
     
    // Add example code here to get desired results.
     
    endwhile;
 
/* Restore original Post Data */
wp_reset_postdata();    
 
endif;
 
?>

Vediamo come funziona. Con l’array $args passiamo gli argomenti che ci interessano, in questo esempio sono soltanto due: il custom post type ‘events‘ e il parametro ‘post_per_page’ che ci da indicazione su quanti post debbono essere visualizzati nella pagina del template.

Poi iniziamo il loop con il ciclo while e all’interno di esso possiamo andare a scrivere il codice che visualizzerà il nostro custom post type e alla fine normalmente si resetta la query con la funzione standard wp_reset_postdata().

Vediamo di seguito cosa potremmo visualizzare del nostro custom post type e come potremmo farlo.

ID del custom post type

Per ottenere e visualizzare l’ID del tipo di post personalizzato WordPress mette a disposizione la funzione get_the_ID() che ha come scopo di restituirci l’ID del custom post type corrente all’interno del ciclo di WordPress.

echo get_the_ID();

Titolo del custom post type

Se invece volessi visualizzare il titolo del custom post type posso utilizzare un’altra funzione: get_the_title(), la quale ci restituirà subito il titolo del custom post type corrente nel ciclo di WordPress.

echo get_the_title();

Custom post type permalink | URL

Per ottenere il permalink o l’URL che ci può servire per collegarci direttamente al contenuto del custom post type, è possibile utilizzare la funzione get_the_permalink() . sempre all’interno del ciclo di WordPress.

echo get_the_permalink();

Estratto (excerpt) del custom post type

Per ottenere l’estratto del custom post type, la funzione da utilizzare è get_the_excerpt() .

echo get_the_excerpt();

Contenuto del custom post type

Get_the_content(); è la funzione che WordPress mette a disposizione per ottenere il contenuto del custom post type.

echo get_the_content();

Come visualizzare l’immagine in evidenza del custom post type

L’immagine in primo piano del custom post type corrente nel ciclo di WordPress si può ottenere tramite la funzione get_the_post_thumbnail_url(), che restituisce l’url dell’immagine che è stata salvata nei media di WordPress.

echo '<img src="'. get_the_post_thumbnail_url().'"/>';

Come rilevare il nome del custom post type

A volte ci può servire di visualizzare il nome del custom post type e questo possiamo farlo utilizzando la funzione get_post_type().

echo get_post_type();

Come trovare i nomi delle etichette (labels) del custom post type

Se conosciamo il nome oppure lo abbiamo rilevato tramite la funzione get_post_type() possiamo trovare di conseguenza anche il nome delle sue etichette (labels) che in pratica rappresentano come viene visualizzato il custom post type nel pannello di amministrazione di WordPress e per questa operazione accediamo all’object custom post type tramite la funzione get_post_type_object().

// Get post type object
$post_type_obj = get_post_type_object( get_post_type() );
 
// Displays singular label name of custom post type: Event
echo $post_type_obj->labels->singular_name; 
 
// Displays plural label name of custom post type: Events
echo $post_type_obj->labels->name; 

Custom Post Type Slug

Sempre attraverso l’oggetto rilevato con la funzione get_post_type_object() possiamo rilevare lo “slug” del custom post type, cioè la porzione di URL che può servirci rispetto al custom post type stesso, a tale scopo usiamo rewrite[‘slug’] come parametro dell’object da rilevare.

// Get post type object
$post_type_obj = get_post_type_object( get_post_type() );
 
// Displays custom post type slug
echo $post_type_obj->rewrite['slug']; 

Ottieni e visualizza l’elenco di tutti i post di un custom post type

Un altro pratico snippet di codice che può servire è quello per visualizzare un elenco di tutti i post relativi ad un custom post type (per esempio in questo caso caso vogliamo visualizzare tutti gli eventi). Utilizziamo sempre WP_Query con una matrice di argomenti e un ciclo di WordPress e per ottenere tutti i post bisogna impostare posts_per_page su -1 visualizzando poi all’interno del ciclo un semplice elenco html.

<?php
 
$args = array(
    'post_type' => 'events',
    'posts_per_page' => -1,
    );
 
$query = new WP_Query($args);
 
if($query->have_posts()):
    while($query->have_posts()):
        $query->the_post();
     
    echo '<ul>';    
 
    echo '<li><a href="'.get_the_permalink().'">'.get_the_title().'</a></li>';
 
    echo '</ul>';
     
    endwhile;
 
/* Restore original Post Data */
wp_reset_postdata();    
 
endif;
 

Lascia un commento