whatsapp   

Sabato

19

Marzo 2022

come creare shortcode con attributi wordpress

Come creare shortcode con attributi in WordPress

  1. blog Come creare shortcode con attributi in WordPress
event_available
schedule

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?

Ti è piaciuto questo articolo?

favorite thumb_down

Ci dispiace ricevere questa notizia. Aiutaci a migliorare! Cosa non va nell'articolo?

message
library_books

Leggi anche

convertire oggetti in array php
Scopri
come Creare shortcode per Wordpress senza errori
Scopri
come creare una scheda su google maps
Scopri
come usare jquery in wordpress senza errori
Scopri
Scopri
come caricare sito web su dominio con Filezilla
Scopri

Contattami

perm_identity
alternate_email
phonelink_ring
message

Il tuo messaggio è stato inviato con successo!
Ti risponderemo a breve

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.

message
perm_identity
alternate_email

Inviato

keyboard_arrow_up