0

Shortcode in wordpress

Postato il 15 giugno 2011. Categoria Web Tag codice wordpress

Gli shortcode sono stati introdotti dal WordPress 2.5 e riportando la definizione presente sui Docs di WordPress

Introduced in WordPress 2.5 is the Shortcode API, a simple set of functions for creating macro codes for use in post content. For instance, the following shortcode (in the post/page content) would add a photo gallery into the page:

1
[gallery]

Come si utilizza:
Uno shortcode si inserisce nel post o nella pagina che si sta scrivendo ed esegue delle operazioni da noi programmate.
esempio:

1
2
3
4
function hello_word_func(){
return echo"<h1>hello world!</h1>";
}
add_shortcode('hello_word', 'hello_word_func');

inserendo nella pagina o nel post

1
[hello_word]

otterreno

hello world

Approfondiamo
La funzione che crea lo shortcode è

1
<?php add_shortcode( $tag , $func ); ?>

che riceve due parametri
$tag (stringa) è ciò che verrà utilizzato all’interno delle parentesi [] nel documento
$func (chiamta) è la funzione che verrà eseguita

le varie opzioni di inserimento di uno shortcode sono:

1
2
3
[tag]
[tag parametro1='valore1' parametro2="valore2"]
[tag parametro="valore"]contenuto_tag[/tag]

La prima l’abbiamo vista con l’esempio, ci permette di inserire un [tag] e far eseguire una funzione.
Con la seconda abbiamo la possibilità di passare dei valori alla funzione, vediamo come:

1
2
3
4
function shortcode_func($attr) {
    return '<em>Valore del primo parametro: <strong>'.$attr['parametro1'].'</strong> , valore del secondo parametro: <strong>'.$attr['parametro2'].'</strong></em>';
}
add_shortcode('tag', 'shortcode_func');

questa funzione ci restituisce:
Valore del primo parametro: valore1 , valore del secondo parametro: valore2

La terza possibilità ci permette di leggere il contenuto tra i tag, ecco il codice:

1
2
3
4
function shortcode_func_2($attr, $content) {
    return "<em>Parametro: <strong>$attr['parametro1']</strong><br/>Contenuto: <strong>$content</strong></em>";
}
add_shortcode('tag', 'shortcode_func_2');

Da questa funzione otteniamo:
Parametro: valore
Contenuto: contenuto_tag

Nota
Possiamo eseguire uno shortcode anche da codice php, inserendolo nel template di una pagina:

1
2
3
<?php
    echo do_shortcode('[tag attr="value"]');
?>

Riferimenti
codex.wordpress.org/Shortcode_API
codex.wordpress.org/Function_Reference/add_shortcode
planetozh.com/blog/WordPress 2.5 ShortCodes API Overview
aaron.jorb.in/blog/WordPress Shortcodes – A how to by example

Leave a Comment





*