Sabato
19
Marzo 2022
Cerchi un modo per rimuovere i file CSS e JavaScript dal tuo sito WordPress senza plugin? È molto semplice, ti basta usare le funzioni del core di WordPress wp_deregister_script() e wp_deregister_style().
Tanti sviluppatori di plugin purtroppo non badano alla velocità di caricamento dei file che creano e questo può influire sulle prestazioni, anche in termini di SEO. Non tutti i file CSS e JavaScript infatti sono necessari in tutto il sito web, con questo codice PHP già pronto infatti potrai scegliere anche le pagine in cui eliminarli.
Iniziamo subito: per prima cosa dovrai aprire il function.php del tuo tema e creare una funzione.
Ti consiglio di creare un tema child per non perdere le modifiche con il primo aggiornamento.
Ora dovrai avviare la funzione durante il caricamento degli script, utilizzando il metodo add_action() con il parametro wp_enqueue_scripts, in questo modo:
add_action('wp_enqueue_scripts', function() {
// code
});
Tempo richiesto: 15 minuti
Come rimuovere css e JavaScript in WordPress
Ora dovrai precludere la funzione agli amministratori del sito in modo da controllare ed eventualmente riparare gli errori.
Per eseguire la funzione solo ad utenti non loggati userai la funzione is_user_logged_in(), se riscontri errori puoi leggere questo articolo sull’errore Call to undefined function is_user_logged_in().
Non eliminare script e stili nel backend, non porta benefici al sito ma sicuramente degli errori.
add_action('wp_enqueue_scripts', function() {
if (!is_user_logged_in()) {
// code
}
});
Veniamo al concetto chiave, ovvero le funzioni wp_deregister_script() e wp_deregister_style() che sono le uniche in grado di rimuovere file CSS e JavaScript dal tuo sito WordPress.
Ti serviranno anche gli handle dei file css e JavaScript per poterli eliminare, trovi tutti i modi per recuperarli in questo articolo.
Vediamo il codice PHP:
add_action('wp_enqueue_scripts', function() {
if (!is_user_logged_in()) {
$handle = ‘handle-del-css-e-js’;
wp_dequeue_script( $handle );
wp_deregister_script($handle);
wp_dequeue_style( $handle );
wp_deregister_style($handle);
}
});
Per eliminare tutti i file CSS e JavaScript dal tuo sito puoi anche utilizzare questo codice completo e già pronto:
add_action('wp_enqueue_scripts', function() {
if (!is_user_logged_in()) {
foreach( wp_styles()->registered as $script ) {
$arr = (array)$script;
$handle = $arr["handle"];
wp_dequeue_style( $handle );
wp_deregister_style($handle);
}
foreach( wp_scripts()->registered as $script ) {
$arr = (array)$script;
$handle = $arr["handle"];
wp_dequeue_script( $handle );
wp_deregister_script($handle);
}
}
});
Scrivi un commento