whatsapp
keyboard_arrow_down Contatti

Sabato

19

Marzo 2022

Come rimuovere CSS e JavaScript in WordPress senza plugin

Come rimuovere css e JavaScript in WordPress

  1. blog Come rimuovere css e JavaScript in WordPress
event_available
schedule

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

  1. Apri il file functions.php del tuo tema

  2. Crea una funzione solo per gli utenti non loggati

  3. Recupera gli handle dei file CSS e JavaScript

  4. Usa le funzioni wp_deregister_script() e wp_deregister_style()

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
	}
 });
code

Le funzioni wp_deregister_script() e wp_deregister_style()

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);
	   }
	}
 });

Ti è piaciuto questo articolo?

favorite thumb_down
Autore articolo

Fabio

Sono un terribile realista. Pratico e determinato ma anche un grande sognatore, ecco perché do continuamente vita a nuovi progetti online e non. Nel 2019 ho fondato Eureka Web proprio per rendere possibile tutto questo. Insieme possiamo realizzare la tua idea!


Visita il sito
library_books

Leggi anche

Come fare redirect in WordPress senza plugin
Scopri
Come recuperare utenti WordPress e dati senza plugin
Scopri
Recuperare l'ultimo elemento di un array in php
Scopri

Contattami

perm_identity
alternate_email
phonelink_ring
message

Il tuo messaggio è stato inviato con successo!
Ti risponderemo a breve

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

message
perm_identity
alternate_email

keyboard_arrow_up