Solo sticky post nella home page di WordPress

In WordPress gli sticky post sono gli articoli messi in evidenza. Si tratta in pratica di una caratteristica dei singoli post che può essere attivata per dare risalto ai post e -ad esempio- fare in modo che siano riportati prima di altri che avrebbero precedenza cronologica.

wordpress-logo
Recentemente mi è capitato di dovermi occupare di un sito nel quale in home page devono essere visualizzati solo gli sticky post, mentre non occorre mostrare nessuno degli altri.
In un certo senso un po’ il contrario di quanto riportavo recentemente in Escludere i post di una categoria dalla home page.

L’operazione ha richiesto un po’ di lavoro, ma alla fine la soluzione è piuttosto semplice.

Ecco come fare:

ovviamente la prima cosa da fare è di attivare la caratteristica cruciale sui post desiderati
si deve poi modificare il file index.php
identificare l’apertura del loop, cioè quell’istruzione che generalmente è simile a
<?php while ( have_posts() ) : the_post() ?>

A questo punto occorre fare due modifiche
La prima consiste nell’inserire *prima* di quell’istruzione un nuovo blocco di comandi:

<?php
$sticky = get_option( ‘sticky_posts’ );
$args = array(
‘posts_per_page’ => 2,
‘post__in’  => $sticky,
‘ignore_sticky_posts’ => 1
);
$query = new WP_Query( $args );
?>

La seconda operazione è sostituire l’apertura del loop, già identificato prima, con questa istruzione

<?php while ($query->have_posts()) : $query->the_post(); ?>

A questo punto la home page mostra solo i post che sono contrassegnati come sticky. Buona sperimentazione !

Lascia il tuo commento