<

Conversione da tipo a contenuto (conversione dinamica)

Nel wordpress Gpci framework è presente in varie zone un sistema per convertire un contenuto da statico a dinamico. Nel backend (gutenberg o campo personalizzato) ci sono due campi: uno che ospita il contenuto statico e uno che lo converte verso il tipo scelto. Poi, nel frontend, la conversione viene eseguita tramite php. Questa conversione verrà espansa con il tempo in base alle esigenze del framework.

Conversione da javascript a php

Per convertire da tipo a contenuto è sufficiente selezionare, in gutenberg o nel campo personalizzato, il tipo di contenuto inserito in un controllo (solitamente stringa o textarea). Per fare questo si utilizza il selettore tipo di valore e nel controllo principale si inserisce il contenuto. Vediamo per esempio un'immagine dal gruppo di controlli attributi:

Il selettore tipo di valore è associato in questo caso alla textarea valore. Questo significa che il valore della textarea cambierà dinamicamente (nel frontend) in base al selettore. Praticamente il selettore descrive il valore inserito. Nello specifico di questo caso:

  • Se selezionata stringa: il valore sarà lasciato così com'è ma con aggiunta di shortcodes
  • Se selezionata stringa php: nel valore si inserisce una stringa php concatenata da funzioni
  • Se selezionata funzione php: nel valore si inserisce il nome di una funzione
  • Se selezionato campo personalizzaato post corrente: nel valore si inserisce il nome di un campo personalizzato

Per finire nel frontend la conversione viene eseguita automaticamente verso il tipo di valore scelto. Nella sezione seguente sono descritte tutte le opzioni del selettore.

Selettore tipo di valore

Il selettore tipo di valore ha varie opzioni, ma non tutte sono disponibili in tutti i casi in quanto ho deciso quali inserire caso per caso (comunque ci saranno sicuramente variazioni e/o aggiunte). Ad esempio nel gruppo di controlli attributi le opzioni disponibili sono:

  • stringa
  • stringa php
  • funzione php
  • campo personalizzato (post corrente)

Invece nel gruppo di controlli condizioni di rendering le opzioni disponibili nel selettore tipo di valore sono:

  • stringa
  • stringa php
  • costante php
  • funzione php
  • campo wordpress (post corrente)
  • campo personalizzato (post corrente)
  • capacità utente corrente

Va specificato che alcune opzioni sono disponibili soltanto agli amministratori e (nel caso di un blocco gutenberg) se il post è successivamente modificato da un utente non amministratore il blocco stesso non sarà modificabile dall'utente senza i permessi sufficienti. Per altre informazioni leggi la parte sugli AdminOnlySettings

Opzioni disponibili

Le opzioni, che siano in un gruppo di controlli o in un altro, si comportano sempre nello stesso modo (in quanto la funzione php che le gestisce è sempre quella). La lista di tutte le opzioni disponibili è:

Non usare

Questa è l'unica opzione che non apporta modifiche al valore. Serve nei casi in cui è possibile scegliere se il valore non ha bisogno di essere manipolato via php. Ricordiamo sempre che idealmente, ogni manipolazione php, rallenta marginalmente la generazione dell'output.

Stringa

selezionando questa opzione il valore diventa una stringa in grado di generare shortcodes, del resto non ci sono variazioni. Esempio:

Il nome di questo documento è: [post_data data="title"]

Risultato: Il nome di questo documento è: Conversione da tipo a contenuto (conversione dinamica)

Stringa php
AdminOnlySettings

Selezionando questa opzione è possibile inserire nel campo valore stringhe php (comprese di virgolette singole) concatenate da funzioni e altre variabili php. Il risultato verrà processato utilizzando eval quindi fare attenzione a questa selezione. Esempio:

'ID di questo documento è: '.get_the_title( get_the_ID() )

Risultato: ID di questo documento è: Conversione da tipo a contenuto (conversione dinamica)

Funzione php
AdminOnlySettings

Selezionando questa opzione è possibile inserire nel campo valore il nome di una funzione e, opzionalmente, ulteriori argomenti separati da una virgola. Questa opzione avrà in futuro delle modifiche, tra cui un sistema di funzioni whitelist per poter essere utilizzata anche dagli utenti normali. Esempi:

get_the_title

Risultato: Conversione da tipo a contenuto (conversione dinamica)

get_the_title,3385

Risultato: Campo del form

get_option,blogname

Risultato: Gigitopc Informatica

Costante php
AdminOnlySettings

Selezionando questa opzione è possibile inserire nel campo valore il nome di una costante php. Tenere presente che sia wordpress che questo framework generano molte costanti php. Esempi:

gpci\homeUrl

Risultato: https://www.gigitopcinformatica.it

WP_MAX_MEMORY_LIMIT

Risultato: 1024M

Campo wordpress (post corrente)

Selezionando questa opzione è possibile inserire nel campo valore il nome di un campo nativo wordpress relativo al post corrente. I valori consentiti sono gli stessi dello shortcode post_data. Al bisogno i valori consentiti verranno espansi. Esempi:

title

Risultato: Conversione da tipo a contenuto (conversione dinamica)

post_type

Risultato: docs

permalink

Risultato: https://www.gigitopcinformatica.it/docs/gpci-framework/conversione-da-tipo-a-contenuto/

Campo personalizzato (post corrente)

Selezionando questa opzione è possibile inserire nel campo valore il nome di un campo personalizzato metabox relativo al post corrente. Esempio:

single_additions_css

Risultato: .adminonlysettings{ background:var(--wp--preset--color--nero); color:white; display: inline; font-size: 1rem; padding: 5px; border-radius: 3px; top: -2px; position: relative; } code{ padding:5px; }

Capacità utente corrente corrente

Selezionando questa opzione è possibile inserire nel campo valore il nome di una capacità relativa l'utente corrente. Insieme al modulo permessi è possibile creare e verificare anche capacità personalizzate. Esempio:

read

Risultato:

Richiesta GET

Selezionando questa opzione è possibile inserire nel campo valore il nome di una query string e ne sarà restituito il valore. Se non esiste la richiesta GET specificata il valore sarà una stringa vuota. Solitamente questa opzione sarà utilizzata probabilmente nei form php per assegnare automaticamente a un campo il valore inserito dell'utente dopo il ricaricamento della pagina. Esempi:

https://www.gigitopcinformatica.it/docs/gpci-framework/?BlockFormId=ricerca-gpciframework-docs&cercadocpostid=&cercadocs=test

Richiesta GET: cercadocs
Valore restituito: test
https://www.gigitopcinformatica.it/docs/gpci-framework/

Richiesta GET: cercadocs
Valore restituito:

Booleano

Selezionando questa opzione il valore verrà convertito a booleano.

Numero intero

Selezionando questa opzione il valore verrà convertito a numero intero.

Array di stringhe

Inserire stringhe separate da una virgola (senza virgolette) , il valore verrà convertito in un array.

Array di numeri interi

Inserire numeri interi separati da una virgola, il valore verrà convertito in un array.