Quando è necessario creare un tema DIVI figlio?

 

creare-plugin

La creazione di un tema figlio è un ottimo modo per aggiungere la personalizzazione del codice al tema senza doversi preoccupare di perdere tali modifiche ogni qualvolta si aggiorna il tema principale Divi. La procedura per creare un tema figlio DIVI è descritta molto bene sul sito ufficiale Elegants theme al seguente Indirizzo.

 

E’ sempre necessario creare un tema figlio per non perdere le modifiche?

In base al tipo di modifica che si vuole apportare forse potrebbe essere sufficiente creare un piccolo plugin.

Come si crea un plugin?

Creare un plugin semplice non è complicato. Aprite il vs editor preferito e copiateci le seguenti righe.

<?php
/*
Plugin Name:  Disable_divi_cache
Plugin URI: https://jits.it
Description: Remove DIVI Clean cache function
Version: 1.1.1
*/

?>

Salva poi il file, nominandolo con lo stesso nome che abbiamo specificato nel commento (plugin name), in questo caso Disable_divi_cache.php.

Infine aggiungiamoci il codice che questo plugin dovrà eseguire. Prima di tutto introduciamo una piccola sicurezza in modo che il file non possa essere richiamato direttamente aggiungendo la seguente riga:

// esci se richiamato direttamente
if ( ! defined( ‘ABSPATH’ ) ) exit;

Aggiungiamo quindi la nostra funzione che eviterà al tema DIVI di cancellare la cache di WP Rocket ridefinendo la funzione. Come abbiamo accennato in questo POST il tema DIVI cancella la cache ogni qualvolta si modifica un qualcosa (pagina/prodotto). Purtroppo, che a volte cancella anche altre pagine che non deve, decimando la nostra cache precaricata. Tenete presente che questo piccolo problema potrebbe non essere più presente nel momento in cui leggerete questo POST. Il tema DIVI è aggiornato regolarmente.

if ( ! function_exists( ‘et_core_clear_wp_cache’ ) ) {
function et_core_clear_wp_cache() {
return;
}
}

Eccovi il codice completo:

 

<?php
/*
Plugin Name:  Disable_divi_cache
Plugin URI: https://jits.it
Description: Remove DIVI Clean cache function
Version: 1.1.1
*/

// exit if accessed directlyif ( ! defined( ‘ABSPATH’ ) ) exit;
if ( ! function_exists( ‘et_core_clear_wp_cache’ ) ) {   function et_core_clear_wp_cache() { return;    } }
?>

 

a questo punto non ci resta che salvare le modifiche, zippare e caricare il file (deve avere lo stesso nome) sul vostro sito andando nel menu plugin -> aggiungi nuovo -> carica plugin. Infine attivatelo e il gioco è fatto.

 

Potenziare la funzione di precaricamento di WP Rocket

Con Windows server, se avete molte pagine, ho notato che la cache di WP Rocket non precarica completamente tutte le pagine se ne avete molte (ad esempio nel caso di un ecommerce). Potete risolvere questo problema nel seguente modo (per utenti esperti).

Nel pannello di controllo di WP Rocket impostate come vita utile della cache il valore 0. In questo modo WP Rocket non cancellerà e ricostruirà mai la cache. Create quindi il seguente file php e salvatelo ad esempio con il nome rocket-clean-domain.php

<?php
// Load WordPress.
require( ‘wp-load.php’ );

// Preload cache.
if ( function_exists( ‘run_rocket_sitemap_preload’ ) ) {
run_rocket_sitemap_preload();
}
?>

Copiatelo poi sul server e pianificatene l’esecuzione. Potete creare un file batch ed eseguirlo ad esempio ogni 24 ore.

powershell “Invoke-WebRequest https://jits.it/rocket-clean-domain.php”
powershell “Invoke-WebRequest https://miosito.it/rocket-clean-domain.php”

La cache non sarà mai cancellata. La funzione run_rocket_sitemap_preload, a causa di un baco, non precaricherà subito tutta la cache, ma nel giro di qualche giorno il vostro sito sarà completamente precaricato. Tenete presente che se apportate qualche modifica dovete cancellare la cache delle pagine interessate manualmente. Siete voi che in questo caso avete il controllo su tutta la procedura.

Ovviamente qualsiasi commento migliorativo è ben accetto!