Sebbene una buona regola per ogni blogger sia di postare una volta al giorno in maniera costante, ci sono alcuni periodi in cui ognuno si sente particolarmente creativo o magari escono svariate notizie che devono essere pubblicate tutte in un solo giorno.
Come fare per gestire queste situazioni e allo stesso tempo mettere in risalto il post più importante della giornata? Esiste un modo per far comparire in cima alla pagina un post anche se non in ordine cronoligico?
Certo che esiste! Si chiama Wp-Sticky ed è stato ideato appositamente per queste situazioni.
Attraverso questo plug-in è infatti possibile con un semplice click del mouse posizionare un post all’infuori dell’ordine cronologico del Loop e metterlo in risalto all’inizio della nostra pagina principale.
Le posizioni che possono essere scelte per i post sono essenzialmente due:
Announcement: il post così denominato verrà posto come primo post in assoluto del blog – al di fuori del Loop – mentre sotto di esso l’elenco procederà in normale ordine cronologico.
Sticky: i post così denominati saranno posti all’inizio dei post di un solo giorno – questo è utile se si pubblicano più post in un solo giorno.
INSTALLARE WP-STICKY
Dopo aver scaricato il plug-in dall’indirizzo http://lesterchan.net/wordpress/readme/wp-sticky.html , la procedura per l’installazione è la solita da seguire con ogni plug-in di Wordpress (se vi sentite sicuri potete leggere il mio tutorial su come installare un plug-in in Wordpress).
POSIZIONARE I MIGLIORI ARTICOLI IN PRIMA POSIZIONE
Posizionare un articolo davanti a tutti gli altri è semplicissimo e non necessita di alcuna modifica al codice. Semplicemente dopo aver installato il plug-in, in fondo alla pagina della finestra di scrittura / modifica dei post si sarà aggiunto un menu denominato POST STICKY STATUS.
Da qui sarà possibile scegliere in che posizione mettere il proprio post. La scelta di default è NORMAL, cioè in ordine normalmente cronologico, che può essere cambiata in ANNOUNCEMENT o STICKY in base all’uso che se ne vuole fare (vedi sopra).
Dopo aver fatto la nostra scelta e aver premuto il pulsante pubblica / salva, il post verrà mostrato nell’ordine da noi desiderato.
NOTA (per i più esperti): è possibile posizionare i post sticky e announcement anche altrove nel template (per esempio un box laterale o più in vista), utilizzando il seguente codice PHP:
Sticky: <?php post_sticky_status(); ?>
Announcement: <?php announcement_banner(); ?>
PERSONALIZZARE WP-STICKY CON I CSS
Poichè il plug-in modifica solamente l’ordine dei post da noi pubblicati, non viene creato nessun mark-up extra (class o id) che possa facilitare la personalizzazione del post messo in evidenza.
Per questo motivo è necessario utilizzare un piccolo espediente tramite un po’ di codice PHP.
Aprite il file index.php del vostro template e all’interno del Loop, dove inizia il codice relativo ai vostri post modificate il div con class="post" aggiungendo quello che segue:
<div class="post"<?php if (is_announcement()) {echo " id=\"announcement\"";} ?>>
se volete personalizzare i post announcement, oppure per i post sticky:
<div class="post"<?php if (is_sticky()) {echo " id=\"sticky\"";} ?>>
se aggiornerete il vostro blog il risultato del codice html nel browser dovrebbe essere così:
<div class="post" id="announcement>
o rispettivamente
<div class="post" id="sticky">
A questo punto potete modificare il css come desiderate utilizzando gli identificatori unici announcement o sticky.
Il tutorial è concluso, complimenti! Se avete domande o notate qualche imprecisione da parte mia, aspetto i vostri commenti!
Io usavo un plug-in ma aveva il difetto di raddoppiare il post sticky, uno rimaneva su e l’altro si comportava come un post normale, scendendo mano a mano che si postavano altri. Sai se anche questo fa così? Può ritornare utile per annunci importanti…
Ciao ho trovato questo articolo da una ricerca su Google fatta per irsolvere un problema ovvero poter mettere in evidenza un post in ogni categoria. Con questo plugin è possibile farlo? Magari utilizzando
<?php announcement_banner(); ?>? Spero nel tuo aiuto. Grazie.