email

Come creare shortcode con attributi in WordPress

Ti trovi in:
  1. blog Come creare shortcode con attributi in WordPress

Pubblicato il , aggiornato il 30 Marzo 2021

In questa guida voglio mostrarti come creare shortcode con attributi personalizzati per WordPress.

Se vuoi sapere come si crea uno shortcode per WordrPress puoi seguire i consigli di questa guida

Gli attributi sono stati creati per rendere tutto più dinamico infatti, grazie a loro, è possibile passare dei valori direttamente alla funzione.

Come creare shortcode con attributi in WordPress

  1. Sintassi degli shortcode con attributi

  2. Come passare gli attributi alla funzione

  3. Richiamare gli attributi all’interno delle funzioni

Sintassi degli shortcode con attributi

code

Gli shortcode con attributi hanno la seguente sintassi:

[my_shortcode_name attributo="valore"]

Gli attributi non sono gli unici parametri passati alla funzione in automatico ma vengono passati anche:

$atts – un array associativo che contiene gli attributi, oppure una stringa vuota se non sono presenti attributi nel tuo shortcode

$content – il contenuto racchiuso dallo shortcode (solo nella forma con contenuto)

$tag – il nome dello shortcode, utile per funzioni di callback condivise

code

Passare gli attributi degli shortcode alla funzione

Per passare gli attributi alla funzione possiamo sfruttare l’array $atts di WordPress e la funzione shortcode_atts() del core in questo modo:

[my_shortcode_name attr_1="valore" attr_2="valore"]

<?php 
function my_function($atts) {
  ob_start();
  extract( shortcode_atts( array(
   'attr_1' => 'attributo 1 default',
   'attr_2' => 'attributo 2 default',
  ), $atts ) );

  $content = ob_get_clean();
  return $content;
}
add_shortcode('my_shortcode_name', 'my_function');
?>

I valori degli attributi dichiarati nella funzione shortcode_atts() sono quelli che utilizzerà di default nel caso in cui non vengano impostato alcun valore nello shortcode.

Ricorda di passare l’array $atts come parametro della funzione del tuo shortcode.

Richiamare gli elementi dell’array $atts

code

L’array $atts contiene tutti i valori degli attributi ma se non ne vengono passati allora verranno utilizzati quelli di default.

Per utilizzarli nella funzione è sufficiente chiamarli così:

$atts[attr_1];
code

Il contenuto degli shortcode

Gli shortcode possono anche racchiudere un contenuto che verrà passato alla funzione. Basta dichiararlo nello shortcode e richiamarlo nella funzione usando la variabile $content, in questo modo:

[my_shortcode_name]Contenuto da mostrare[/my_shortcode_name]

Notare il tag di chiusura dopo il contenuto.

Anche in questo caso possiamo utilizzare la variabile $content per richiamare il contenuto presente fra i due tag del nostro shortcode in questo modo:

function my_function($atts, $content = null) {
  ob_start();
  extract( shortcode_atts( array(
   'attr_1' => 'attributo 1 default',
   'attr_2' => 'attributo 2 default',
  ), $atts ) );

  $content = ob_get_clean();
  return $content;
}
add_shortcode('my_shortcode_name', 'my_function');

È bene anche in questo caso inserire un valore di default che verrà sovrascritto nel caso in cui sia effettivamente presente un contenuto fra i due tag.

Ti lascio uno strumento gratuito per generare gli shortcode disponibile a questo link

Perché non sviluppare un plugin personalizzato e inserire lì il codice che ti serve ora che sai come creare i tuoi shortcode?

Contattaci!

Preventivo sempre gratuito

Fabio Fresia, fondatore e titolare di Eureka Web di Asti

perm_device_information366 - 400 9542       emailinfo@agenziawebeureka.it

perm_identity
alternate_email
phonelink_ring
message