- by Roberto Paolucci
- 3 Dicembre 2022
DeveloPress.it sta caricando
Tempo di lettura: 2 minuti
A partire dalla versione 3.1 di WordPress sono stati introdotti i “formati dei post” e affiancano gli sticky post come metodo separato per aggiungere un determinato controllo sui contenuti. Vediamo i formati di post disponibili nel CMS:
I formati dei post possono essere utilizzati per tutto ciò che vogliamo in base a ciò che fa il nostro tema, utilizzando CSS e tag condizionali. Andiamo nel dettaglio!
L’obiettivo di utilizzare i formati dei post è quello di avere classi CSS dedicate che automaticamente aggiungono stili all’elemento. Ad esempio all’interno del tema Twenty Thirteen, il formato aside aggiungerà la classe format-aside al post. La vera utilità dei formati di post si ottiene quando li utilizziamo abbinati ai tag condizionali all’interno del loop; possiamo verificare se un post ha un determinato formato e, se questa condizione è vera, modificarlo o in generare fare azioni su di esso. Facciamo un esempio:
<?php
if (has_post_format('aside')) {
echo 'Si tratta di un post aside, quindi mostrarlo in questo DIV oppure far comparire un messaggio di avviso';
}
?>
Il codice sopra ci fa vedere come possiamo, ad esempio, mostrare dei dati, soltanto se il tipo di formato è “aside”. Potremmo impostare un loop che ci mostra soltanto i post con questo formato oppure progettare un template di pagina, con stili CSS dedicati, soltanto per una tipologia di post. Per poter aggiungere questa funzionalità al nostro tema dobbiamo indicare nel functions.php quali sono i formati di post supportati dal tema, ecco come:
<?php
add_action( 'after_setup_theme', 'developresstheme_setup' );
function developresstheme_setup() {
// qui aggiungiamo i formati, passandoli tramite Array
add_theme_support( 'post-formats', array (
'aside',
'gallery',
'video'
));
}
?>
Il codice sopra, aggiunge la funzione:
developress_setup()
all’hook:
after-setup_theme
che a sua volta eseguirà il codice
add_theme_support( 'post-formats', array (
'aside',
'gallery',
'video'
))
I formati dei post da abilitare sono passati tramite un’Array.
Il mio suggerimento è quello di non inserire l’intero loop nel file loop.php ma utilizzare:
get_template_part()
anche per i frammenti di codice più brevi. Ad esempio il tema di default di WordPress Twenty Eleven lavora proprio in questo modo tramite l’output predefinito del post in content.php, se vediamo nel dettaglio i file di questo tema, scopriamo che ci sono file supplementari per i diversi formati di post, come ad esempio: content-aside.php e content-video.php. Questi file hanno delle funzionalità e degli stile che valgono soltanto per questi formati di post.
La grande potenzialità si ha quando uniamo:
get_template_part()
con
get_post_format()
Quindi all’interno di Twenty Eleven troviamo questo codice:
get_template_parte('content', get_post_format() );
Questo codice restituisce il formato del post a
get_template_part()
e l’aggiunge a content. Quindi se il post ha il formato aside, la funzione:
get_template_part()
includerà il file content-aside.php.
I formati dei post sono molto utili in quanto permettono di avere un’organizzazione dell’ambiente di lavoro molto pulita e ci permettono di definire stili grafici e comportamenti del nostro tema molto avanzati, in particolare se utilizzati con get_template_part() e altre funzioni di controllo PHP. Per tutti i dettagli sui formati dei post, vi consiglio di leggere un articolo sul sito web ufficiale: https://wordpress.org/support/article/post-formats/
Non faccio grandi cose ma piccole cose che sembrano funzionare bene.
Roberto Paolucci