Shortcode WordPress: cosa sono, come e quando usarli

Ti propongo una guida rapida e semplice per iniziare a conoscere gli shortcode di WordPress e capire come sfruttarne al meglio tutte le opportunità d’uso

I controlli di sicurezza integrati in WordPress non consentono la scrittura di codici eseguibili nella aree dedicati ai post, alle pagine, ai commenti e via discorrendo. A volte, però, può accadere che tu abbia la necessità di scrivere del codice in queste sezioni e per permettere che ciò avvenga la piattaforma ammette i così detti shortcode.

Gli shortcode sono quindi delle piccolissime porzioni di codice che consentono di aggiungere delle funzionalità speciali nei post e nelle pagine senza la necessità di scrivere delle porzioni di codice. Molti plugin di WordPress e alcuni temi introducono sulla piattaforma degli shortcode personalizzati che permettono di aggiungere differenti elementi nelle pagine del sito, come griglie di prezzi, calendari, slider e gallerie animate di immagini, form per interviste e via discorrendo.

Certo è che bisogna imparare a sfruttare gli shortcode nel modo più corretto ed è per questo che ti voglio dare alcuni consigli su come usarli al meglio.

Impara a capire quando non devi usare gli shortcode

Quando gli utenti alle prime armi scoprono gli shortcode, la tentazione che hanno è quella di usarli di continuo e un po’ dappertutto, ma questo non è un comportamento corretto.

Infatti, invece di usare uno shortcode in ogni post, ad esempio per creare pulsanti di tipo call-to-action, è meglio che impari come programmare i pulsanti in WordPress ricorrendo all’uso dei CSS. Allo stesso tempo, se hai la necessità di usare uno shortcode di continuo per integrare un banner o un qualsiasi altro elemento nel sito, forse è il caso di pensare all’utilizzo di un plugin specifico o all’arruolamento di uno sviluppatore che personalizzi la piattaforma o il tema per ospitare l’elemento di cui hai necessità.

L’uso degli shortcode e il futuro del tuo WordPress

In tutti gli altri casi, gli shortcode sono molto comodi, ma prima di usarli è comunque necessario pensarci bene. Infatti, se sfrutti gli shortcode forniti con il tema e in futuro cambi il tuo template, cosa ne sarà delle funzionalità legate agli shortcode già usati?

Nel caso specifico è forse meglio confezionare un plugin personalizzato che raccolga tutti i codici utili al tuo sito e che trovi sul Web o nel tuo tema.

Come individuare gli shortcode nel tema WordPress

Per scoprire quali shortcode mette a disposizione un tema che hai appena installato, puoi consultare la documentazione associata, installare un apposito plugin oppure individuare il file functions.php che normalmente si trova nel percorso /wp-content/themes/nome-del-tuo-tema/, aprirlo con un qualsiasi editor e cercare al suo interno il termine add_shortcode.

L’argomento della funzione rappresenta proprio il nome dello shortcode che puoi utilizzare, mentre la dichiarazione function ne specifica il comportamento.

Shortcode WordPress: cosa sono, come e quando usarli

Gli shortcode sono utilizzabili anche nei widget

Molti pensano che gli shortcode possano essere usati solo nelle pagine e nei post, ma in realtà puoi integrare queste porzioni di codice anche nei widget.

Non devi fare altro che effettuare un drag&drop di un widget di testo nella tua sidebar e specificare lo shortcode che desideri usare.

Se questa modalità operativa non dovesse sortire alcun risultato, ricordati di modificare il file functions.php di cui ti ho parlato prima, aggiungendo la dichiarazione seguente

add_filter(‘widget_text’, ‘do_shortcode’);

Aggiungere uno shortcode nei file del tema

Se per qualsiasi ragione hai necessità di usare uno shortcode in un’area del tuo sito non personalizzabile con i widget, considera l’opportunità di integrare lo shortcode di interesse nel tuo tema. Ad esempio, puoi creare un template di una pagina personalizzata e includere lo shortcode nel seguente modo:

<?php echo do_shortcode(“[example_shortcode]”); ?>

Nascondere gli shortcode non funzionanti

Qualora cambiassi il tema, rischieresti di trovarti gli shortcode usati nei post, nelle pagine e nei widget non funzionanti. Per ovviare al problema, aggiungi questo comando al file functions.php:

add_shortcode( ‘shortcodetag’, ‘__return_false’ );

In questo modo, nasconderai l’output degli shortcode non funzionanti.

Trovare i post che contengono particolari shortcode

Se invece vuoi procedere manualmente alla rimozione degli shortcode dai post, devi prima cercare tutti i post che li contengono. Questa ricerca potrebbe essere estenuante, soprattutto se hai tanti contenuti sul tuo sito WordPress. Per ovviare al problema, usa questo codice nel file functions.php:

function wpb_find_shortcode($atts, $content=null) {

ob_start();

extract( shortcode_atts( array(

                               ‘find’ => ”,

                ), $atts ) );

 

$string = $atts[‘find’];

 

$args = array(

                ‘s’ => $string,

                );

 

$the_query = new WP_Query( $args );

 

if ( $the_query->have_posts() ) {

        echo ‘<ul>';

                while ( $the_query->have_posts() ) {

                $the_query->the_post(); ?>

                <li><a href=”<?php  the_permalink() ?>”><?php the_title(); ?></a></li>

                <?php

                }

        echo ‘</ul>';

} else {

        echo “Sorry no posts found”;

}

 

wp_reset_postdata();

return ob_get_clean();

}

add_shortcode(‘shortcodefinder’, ‘wpb_find_shortcode’);

 

Questo codice è un motore di ricerca per gli shortcode e, a sua volta, è uno shortcode di facile utilizzo. Infatti, è sufficiente comporre una pagina di WordPress dove inserisci lo shortocode:

[shortcodefinder find=’nome_dello_shortcode_da_cercare’]

e visualizzarla in anteprima per vedere un elenco di tutti i post che integrano lo shortcode che hai posto fra apici.

  • roby

    Grazie mille per il tuo articolo, ho un quesito da sottoporti.
    Ho generato tramite un plugin uno short code per dare effetto roolover alle img di categ ossia le futured images.
    Dove e come posso inserire questo shortcode all’interno del template per visualizzare l’effetto sulle img?