<

Snippets (aggiunte di codice)

Ultima modifica: 3 Ottobre 2025

Nel wordpress Gpci framework il modulo aggiunte di codice serve a consentire l'aggiunta di librerie aggiuntive e codice personalizzato a livello di pagina singola. Tutte le zone in cui è possibile aggiungere codice sono riservate esclusivamente agli amministratori.

Codice personalizzato pagina singola

Dopo aver selezionato i post types a cui si vuole applicare la possibilità di aggiungere codice e/o librerie è possibile visualizzare la metabox aggiunte di codice contenente le seguenti sezioni:

Css

In questa textarea è possibile inserire codice css che verrà eseguito nella head della pagina corrente, il codice viene aggiornato in tempo reale anche nel backend. Cliccando sulla textarea si attiva codemirror per aiutare la scrittura del codice. Subito sotto è presente un controllo di tipo switch per disabilitare il codice nel backend se da problemi di visualizzazione, nel frontend invece verrà sempre generato.

Javascript head

In questa textarea è possibile inserire codice javascript che verrà eseguito nella head della pagina corrente, ma soltanto nel frontend. Cliccando sulla textarea si attiva codemirror per aiutare la scrittura del codice.

Javascript footer

In questa textarea è possibile inserire codice javascript che verrà eseguito nel footer della pagina corrente, ma soltanto nel frontend. Cliccando sulla textarea si attiva codemirror per aiutare la scrittura del codice.

Librerie javascript aggiuntive

Tutti i files javascript caricati nella cartella/sottocartelle dedicata sono registrati in questa sezione come potenziale libreria da caricare nella pagina. E' importante specificare subito che tutti i files abilitati verranno caricati nel frontend tramite la funzione wp_enqueue_script, nei controlli qui presenti è possibile modificarne le opzioni e l'eventuale caricamento. Ogni file verrà tradotto in un gruppo di controlli che rispecchiano i parametri della funzione per gestire il caricamento nel frontend:

  • nome file - nome del file senza estensione, rimane invariato dall'originale. E' presente anche un tooltip per verificare l'handle (che sarà calcolato automaticamente in base al nome del file)
  • abilita - se attivata la checkbox il file sarà caricato nel frontend
  • strategy - valore della chiave strategy all'interno del parametro £args (vedere documentazione ufficiale)
  • in footer - valore della chiave array in_footer all'interno del parametro £args (vedere documentazione ufficiale)
  • dipendenze - campo testuale ripetibile in cui è possibile inserire gli handle da cui dipenderà lo script da caricare (parametro $deps) - è presente un helper di tipo autocompile con la lista degli handle precalcolati, ma è possibile anche inserire un handle esterno

Il parametro $ver invece è calcolato automaticamente tramite php in tempo reale in base alla data del file sul server.

Php

In questa sezione è possibile aggiungere codice php a una pagina secondo un punto di inserimento, che può essere il file functions.php oppure un hook di wordrpress. Il codice aggiunto, per evitare crash irrisolvibili in caso di errori, verrà valutato tramite eval in un blocco try and catch. Attenzione comunque che esistono casi in cui neanche eval preverrà crash della pagina (ad esempio se viene ridichiarata la stessa funzione), in quel caso andare alla pagina impostazioni risoluzione dei problemi e disabilitare l'inclusione per il post bloccato. Casi d'uso utili potrebbero essere ad esempio: registrare uno shortcode o una funzione solo per una pagina o eseguire istruzioni php nella pagina. La sezione è composta da un gruppo di campi ripetibile in cui è possibile per ogni gruppo:

Punto di inserimento

Punto in cui il codice verrà innestato. E' bene specificare subito che escluso il codice innestato nel functions.php, tutti gli altri sono hooks; verranno quindi creati automaticamente dei nuovi hooks per contenere il codice inserito. Tenere presente che le variabili di ingresso saranno sempre identiche a quelle specificate nelle documentazioni ufficiali. I valori possibili sono:

Functions.php

Il codice verrà aggiunto nel file functions.php del tema padre piuttosto presto (dopo la definizione delle costanti e dei callbacks ma prima degli hooks). Scegliendo questo punto di inserimento è possibile anche aggiungere hooks non ancora selezionabili.

After_setup_theme

Questo hook è particolarmente adatto a registrare shortcodes utilizzando la funzione add_shortcode.

Rwmb_frontend_after_process

Questo hook serve ad aggiungere azioni dopo il submit di un form metabox, come redirezionare ad un post appena creato. Esempio:

wp_safe_redirect( get_post_permalink( $post_id ) );
die;

Priorità (solo se hook)

Priorità dell'hook che verrà aggiunto, cercare di rispettare le semplici regole sulle priorità di questo framework.

Esempi

Aggiunge la funzione SostituisceRigaConColonna alla pagina. Punto di inserimento: functions.php. La funzione verrà utilizzata come funzione aggiuntiva nello shortcode render_data (vedi risultato):

function SostituisceRigaConColonna( $content ){
  return $content=str_replace( $search='riga', $replace='colonna', $subject=$content );
}

Risultato: esempio render_data

Aggiunge lo shortcode [esempio] in una sola pagina utilizzando la funzione add_shortcode. Punto di inserimento: hook after_setup_theme.

RegisterShortcode( 'esempio', function( $atts, $content ){
  $atts = [
    'link' => $atts['link'] ?? 'https://www.gigitopcinformatica.it',
    'testo' => $atts['testo'] ?? 'default2'
  ];

  $link = $atts['link'];
  $testo = $atts['testo'];

  $StringaFinale = "<a href='$link'>$testo</a>";

  return $StringaFinale;
} );

Risultato: esempio tema_child