Molti sviluppatori che iniziano lo studio di WordPress sottovalutano o ignorano per inesperienza un aspetto fondamentale di questo CMS: il dato più importante da reperire quasi sempre in WordPress è l'ID. Sia che si tratti dell'ID di un post, di una pagina, o di un'immagine, è l'ID che permette a molte funzioni di WordPress di restituire il risultato voluto. Si dirà: io scrivo soprattutto codice per visualizzare post e non ho mai avuto bisogno di usare gli ID. Ma è davvero così?
Sicuramente vi sarete trovati di fronte a questo codice:
<figure class="featured-image">
<?php echo get_the_post_thumbnail(); ?>
</figure>
Siamo nel Loop ma spesso in questi casi la thumbnail non viene visualizzata. Il motivo è semplice: va specificato l'ID del post corrente:
<figure class="featured-image">
<?php echo get_the_post_thumbnail(get_the_ID()); ?>
</figure>
O meglio:
<figure class="featured-image">
<?php $id = get_the_ID();?>
<?php echo get_the_post_thumbnail($id); ?>
</figure>
Questo è un caso alquanto palese, ma se pensiamo ai Loop creati con WP_Query
, noteremo che se vogliamo escludere dei post o reperire dei tag o delle categorie abbiamo bisogno di conoscere il loro ID.
Stupirà il fatto che anche i nostri post visualizzati con dei pretty URLs in realtà hanno alla base l'ID del post, ossia la query string ?p=n
che viene semplicemente riscritta da WordPress in modo più accessibile per gli esseri umani.
Se studiamo la documentazione di WordPress con attenzione noteremo che moltissime funzioni di WordPress utilizzano gli ID, che si rivelano decisivi quando vogliamo visualizzare dei risultati al di fuori del Loop.
Nel file functions.php
un pattern ricorrente di moltissime funzioni è il seguente:
global $post;
$id = $post->ID;
Ottenuto l'ID del post o della pagina possiamo manipolare i dati restituiti a nostro piacimento. Come si può notare, in tutti questi casi l'ID si rivela come un dato fondamentale.