# Config
Per utlizzare al meglio FC DiviChild, la prima cosa da fare è impostare al meglio il file di configurazione. Il file di configurazione includes/config.php contiene tutta una serie di parametri che permettono di attivare e disattivare molte funzioni del tema. Sempre dal file di configurazione è possibile facilitare alcune operazioni come il caricamento di file js e css o impostare dei resize custom delle immagini.
Di seguito alcuni fondamentali parametri e funzioni attivabili attraverso il file di configurazione.
# Staging IP based redirect
Questa funzione permette di attivare il rindirizzamento del sito di staging per tutti gli IP ad eccezione di alcuni. Questa funzione è utile per evitare problematiche SEO e per proteggere il proprio lavoro. È possibile specificare l'URL verso cui fare redirect, gli IP da escludere (e quindi ai quali permettere l'accesso) e i domini da escludere dal redirect. Questo ultimo parametro serve per specificare l'url di produzione e i vari URL locali di sviluppo che altrimenti sarebbero inaccessibili.
- Type:
bool,string,array - Default:
false,'xx.xx.xxx.xxx',empty
$theme_config->staging->redirect_active = false;
$theme_config->staging->redirect_to = "";
$theme_config->staging->redirect_allowed_ips = array(
'xx.xx.xx.xx' // Default IP
);
$theme_config->staging->redirect_exclude_domains = array(); // add here production site and/or your local develope domain without (http or https)
# Debug
- Type:
bool - Default:
false
Questa serie di parametri attiva/disattiva le funzioni di debug PHP per frontend e backend.
$theme_config->debug->frontend = false;
$theme_config->debug->backend = false;
# WP Memory Limit
- Type:
string - Default:
256M
$theme_config->memory_limit = "256M";
Questo parametro permette la configurazione del memory limit, solitamente gestito nel file wp-config.php
Questo funzione utilizza la funzione php ini_set() che agisce direttamente sull'init di PHP, pertanto, in alcune specifiche configurazioni di server, potrebbe non funzionare. Qualora dovessero verificarsi problemi, si consiglia di impostare il valore di questo parametro a vuoto o false e agire nel file wp-config.php o direttamente nel php.ini.
# Traduzioni
- Type:
bool - Default:
false
Carica i textdomain necessari per le traduzioni .po/.mo necessari all'override delle traduzioni del tema parent
$theme_config->divi_translations->theme = false;
$theme_config->divi_translations->builder = false;
Per l'uso delle funzioni di traduzione consultare l'apposita sezione della documentazione.
# Built-In Functions
- Type:
bool - Default:
false
Attivazione/disattivazione delle funzioni di estensione del tema.
Di seguito l'esempio della funzione next and prev.
$theme_config->builtin_functions->next_and_prev = true;
$theme_config->builtin_functions->next_and_prev_shortcode = true;
Per l'uso delle funzioni Built-In consultare l'apposita sezione della documentazione.
# Image Sizes
- Type:
array - Default:
empty
$theme_config->images_custom_sizes = array()
Attraverso questa opzione è possibile impostare dei custom resize per le immagini che vengono caricate in WP attraverso la gestione media.
Di default questo array è vuoto e pertanto vengono eseguiti soltanto i resize impostati dal tema parent.
Per attivare i resize custom è sufficiente aggiungere ogni resize come elemento dell'array in forma key => value dove key è lo slug del resize e value la misura del resize.
Di seguito un esempio di come potrebbe essere un array popolato per un resize di nome "fc_small" e di misura 250px.
$theme_config->images_custom_sizes = array(
"fc_small" => 250
);
# Librerie esterne
- Type:
bool,string - Default:
false,empty
Librerie predisposte per il caricamento, sia lato JS che CSS.
Queste librerie assolvono a differenti compiti.
$theme_config->libs->owl = false;
$theme_config->libs->tiny_slider = false;
$theme_config->libs->fdccookielaw = false;
$theme_config->libs->jqueryui = false;
$theme_config->libs->google_fonts = false;
$theme_config->libs->google_fonts_link = "";
Per l'uso delle libreire consultare l'apposita sezione della documentazione.
Attenzione La disponibilità delle librerie esterne potrebbe variare nel tempo.
# Iubenda
- Type:
bool,string - Default:
false,variuos
Attraverso questi parametri è possibile impostare alcuni valori necessari alla gestione dei caricamenti di script rilascianti cookie di profilazione che richiedono accettazione.
$theme_config->iubenda_head_script->active = false;
$theme_config->iubenda_head_script->parameters->iubenda_id = "_iub_cs-44481581";
$theme_config->iubenda_head_script->parameters->functionality_storage = "denied";
$theme_config->iubenda_head_script->parameters->personalization_storage = "denied";
$theme_config->iubenda_head_script->parameters->security_storage = "granted";
$theme_config->iubenda_head_script->parameters->wait_for_update = 0;
# Divi Default "Project" Custom Post
- Type:
bool - Default:
true
$theme_config->removeProjects = true;
Attraverso questo parametro è possibile riattivare i custom post nativi di Divi che nella maggior parte dei casi non vengono utilizzati.
# Stiky mobile menu bar
- Type:
bool - Default:
false
$theme_config->sticky_mobile_menu = false;
Attraverso questo parametro è possibile forzare la barra del menu a rimanere fissata in alto nel mobile.
# Collapsible Mobile Submenues
- Type:
bool - Default:
false
$theme_config->mobile_collapsible_submenues = false;
Questa opzione attiva i submenu collassibili nel menu mobile. Questa opzione agisce principalmente lato Javascript e pertanto è poco overridabile in termini di funzionamento. Se necessario lasciare disattivata questa opzione e implementare codice custom.
SCSS
Lato scss il codice necessario (che sicuramente richiederà delle modifiche necessarie all'adattamento al design) è contenuto in scss/core/partials/modules/_mod--mobile-fixed-nav.scss. A differenza della funzionalità stessa, per evitare dimenticanze, lo stile scss è di default abilitato ma è possibile disattivarlo (anche solo per overridarlo con più libertà) attraverso il parametro di configurazione SCSS ``.
# Divi Contact Form Privacy
- Type:
string
Queste stringhe contengono del testo (GDPR compliant) che verrà mostrato prima del pulsante di invio nel modulo contact form nativo di Divi.
$theme_config->contact_module_privacy_text = "Dichiaro di aver letto e accettato la <a href=\"/privacy-policy\" target=\"_BLANK\">privacy policy</a> di questo sito";
$theme_config->newsletter_module_privacy_text = "Dichiaro di aver letto e accettato la <a href=\"/privacy-policy\" target=\"_BLANK\">privacy policy</a> di questo sito. Accetto inoltre che mi vengano inviate, solo dal brand proprietario di questo sito, comunicazioni di tipo pubblicitario.";
Attenzione!
Queste due variabili sono state spostate nel blocco relativo alla localizzazione delle stringhe usate nel codice Javascript del tema child.
# Localizzazione Stringhe JS
- Type:
string
In questo nodo della configurazione sono presenti alcune stringhe traducibili che vengono passate ai file JS. È possibile aggiungere tutte le stringhe necessarie.
$theme_config->localize_text->open_submenu = __('Open Submenu','divichild');
$theme_config->localize_text->contact_module_privacy_text = wp_kses(
sprintf(
__( 'I have read and understand the <a href="%s">privacy policy</a> of this site', 'divichild' ),
esc_url( '/privacy-policy' )
),
array(
'a' => array(
'href' => array()
),
)
);
$theme_config->localize_text->newsletter_module_privacy_text = wp_kses(
sprintf(
__( 'I have read and understand the <a href="%s">privacy policy</a> of this site. I also agree that I may be sent, only by the brand owner of this site, advertising-type communications.', 'divichild' ),
esc_url( '/privacy-policy' )
),
array(
'a' => array(
'href' => array()
),
)
);
# Shortcodes
- Type:
bool - Default:
false
Attivazione/disattivazione di alcuni shortcode disponibili.
Questa parte del file e le relative funzioni saranno soggette a importanti modifiche nelle future release del tema.
$theme_config->shortcodes->buttons = false;
$theme_config->shortcodes->getmenu = true;
$theme_config->shortcodes->policy = false;
$theme_config->shortcodes->posts_carousel = false;
$theme_config->shortcodes->posts_loop = false;
Attenzione!
Gli shortcode di default non sono definitivi e verranno sistemati nelle prossime release, pertanto è sconsigliato l'uso in produzione.
# WooCommerce
- Type:
bool - Default:
false
Questo parametro attiva l'inclusione del file includes/woocommerce/woocommerce_functions.php che dovrà funzionare da entry point per tutte le funzioni custom relative a WooCommerce.
$theme_config->woocommerce->active = false;
# Inclusioni Custom CSS
- Type:
array - Default:
empty
Attraverso questo array è possibile caricare uteriori file css semplicemente popolando l'array come mostrato nell'esempio qui sotto.
$theme_config->custom_css = array(
"handleDelFile" => array(
"/path/del/file.css",
"fileDipendenza",
"1.0.0",
"screen" // this value can be omitted
),
);
# Inclusioni Custom JS
- Type:
array - Default:
empty
Attraverso questo array è possibile caricare uteriori file js semplicemente popolando l'array come mostrato nell'esempio qui sotto.
$theme_config->custom_js = array(
"handleJS" => (object) array(
"src" => "/path/del/file.js",
"deps" => array('jquery'),
"ver" => "1.0.0",
"in_footer" => true,
"module" => false,
"args" => array()
),
);
- Il parametro
"module"impostato in true caricherà il file js come modulo - Il i valori del parametro
"args"saranno passati al JS secondo le specifiche della funzione localize script di WordPress