<

Global (deprecato)

Ultima modifica: 2 Settembre 2025

Global è uno shortcode esclusivo del wordpress Gpci framework e serve a mostrare informazioni relative a $GLOBALS php controllate. E' possibile ottenere il valore di 2 tipi di global:

Attributi dello shortcode

Gli attributi di questo shortcode sono riferimenti a delle global php: gli accessi alla global gpci sono limitati a poche chiavi, la global custom (inizializzata nel tema padre come array vuoto) invece è libera e delimitata soltanto dagli amministratori.

data

Punto di partenza dell'array $GLOBALS e avanzamenti nelle sotto chiavi separate da una virgola. Va precisato che il valore di uscita se oggetto sarà sempre convertito ad array.

readable

True o false, se il valore deve essere convertito stringa json, molto utile per capire dove si trova il valore che si vuole ottenere. Default:true.

[global data="custom,test" readable="false"]

functions

Questo argomento si comporta esattamente come nello shortcode render_data: serve a manipolare il valore di ritorno subito prima di generarlo. Si inserisce il nome di una o più funzioni separate da una virgola (esempio: wpautop,funzionepersonalizzata), se le funzioni esistono e sono in whitelist (ricordarsi di aggiungerle!) il valore verrà processato da ogni funzione nell'ordine inserito prima di essere generato. Le funzioni devono prendere in ingresso un parametro come il valore in ingresso (probabilmente stringa o numero) e ritornarlo alla fine dopo le modifiche. Se le funzioni non esistono o non sono in whitelist lo shortcode ritornerà con una stringa messaggio di errore relativo (ricordarsi che le funzioni vengono processate una per volta quindi potrebbero esserne ad esempio eseguite 2 e la terza potrebbe generare l'errore). Vedi esempi per maggior chiarezza.

Globali del tema padre

Può essere utile avere una panoramica delle globali del tema padre che possono essere ottenute tramite questo shortcode:

foreach

Contiene tutte le informazioni relative i foreach nella pagina organizzate per id foreach, chiavi e valori.

Esempio:

[global data="gpci,foreach,id,value"]

block

Contiene tutte le informazioni relative il blocco corrente. Utile soprattutto per debugging del blocco e per verificarne gli attributi.

Esempio:

[global data="gpci,render,block"]

instance

Contiene informazioni avanzate come la configurazione del blocco corrente e le variabili di contesto dei blocchi. Utile per ottenere informazioni passate dai blocchi genitori oppure sulla query corrente come il numero di posts trovati ecc...

Esempi:

<!--contenitore instance-->
[global data="gpci,render,instance"]

<!--contenitore delle variabili di contesto blocchi-->
[global data="gpci,render,instance,context"]

<!--id del post corrente-->
[global data="gpci,render,instance,context,postId"]

<!--post type corrente-->
[global data="gpci,render,instance,context,postType"]

<!--informazioni sulla query corrente-->
[global data="gpci,render,instance,context,CurrentQuery"]

<!--indice del post corrente nella query corrente-->
[global data="gpci,render,instance,context,CurrentQuery,current_post"]

query

Contiene le informazioni relative la query corrente.

Esempi:

<!--informazioni sulla query corrente-->
[global data="gpci,query"]

<!--indice del post corrente nella query corrente-->
[global data="gpci,query,current_post"]

Esempi

Utilizziamo la global che inizia per custom. Otteniamo il valore di una funzione personalizzata:

//php
function EsempioShortcodeGlobalsCustom(){
  $currentDateTime = new DateTime();
  return $currentDateTimeString = $currentDateTime->format('Y-m-d H:i:s');
}

$GLOBALS['custom']['dataeora'] = EsempioShortcodeGlobalsCustom();

Shortcode:

[global start="custom" data="dataeora"]

Risultato

2026-08-12 04:58:34


Otteniamo il nome del blocco corrente utilizzando una globale di render:

Nome blocco: [global data="gpci,render,block,blockName"]

Risultato

  • Nome blocco: core/list-item

Otteniamo l'indice del post corrente all'interno di una query e incrementiamolo di 1:

[global data="gpci,query,current_post" functions="++"]

Otteniamo una lista dinamica in base a un campo metabox del post corrente:

  • id campo personalizzato - esempio-testo
  • tipo campo personalizzato - testo ripetibile
  • controllo foreach - selezione campo personalizzato: post corrente; array di ingresso: esempio-testo
  • shortcode inserito in una voce elenco(il livello è 0 in quanto il foreach non è nested):
[global data="gpci,foreach,esempio-testo,value"]

Risultato 1

  • testo1
  • testo2
  • testo3

Stessa cosa ma ora visualizziamo le chiavi invece dei valori:

[global data="gpci,foreach,esempio-testo,key"]

Risultato 2

  • 0
  • 1
  • 2

Ora manipoliamo il risultato dei valori con una funzione:

function EsempioManipolaValoreOutput( $content ){
  if( $content == 'testo2' ){
    $content = str_replace( $search='testo2', $replace='TESTO MANIPOLATO!', $subject=$content );
  }
return $content;
}
[global data="gpci,foreach,esempio-testo,value" functions="EsempioManipolaValoreOutput"]

Risultato 3

  • testo1
  • TESTO MANIPOLATO!
  • testo3

Ora otteniamo il valori tra 2 foreach nested: DA FARE