Question

question rapide. J'utilise jquery pour mon projet en cours (la dernière version). Quelques plugins que je utilise utilisent jquery aussi bien et ils sont insérés dans wp_head (). Depuis que je veux que mon site à ber assez mince et rapide ces scripts redondants doivent être supprimés.

est-il possible que je puisse filtrer la chaîne « jquery.js » dans wp_head () et enlever l'étiquette qui intègre le script? Comme vous pouvez le voir dans les jquery.js capture d'écran suivante ne serait pas nécessaire. Puis-je supprimer ce avec un crochet?

entrer image description ici

Était-ce utile?

La solution

Il n'y a pas de filtre qui couvre toute la production produite pendant wp_head (). Vous devez utiliser un processus assez compliqué de mise en mémoire tampon de sortie avant de commencer wp_head, puis filtrer ce que vous ne voulez pas après, avant de libérer le tampon.

permet de supposer que vous faites affaire avec des plugins qui ont enregistré leurs scripts correctement> Essayez d'ajouter ceci à votre functions.php puis visualisation du code source d'un de vos pages:

add_action('wp_head', 'debug_scripts_queued');

function debug_scripts_queued() {
    global $wp_scripts;
    echo '<!--- SCRIPTS QUEUED'."\r\n";
    foreach ( $wp_scripts->queue as $script ) {
        echo "\r\nSCRIPT: ".$script."\r\n";
        $deps = $wp_scripts->registered[$script]->deps;
        if ($deps) {
            echo "DEPENDENCIES: ";
            print_r($deps);
        }
    }
    echo "\r\n--->";
}

qui liste tous les scripts effectivement enregistrés, et leurs dépendances.

Si ce que vous voulez deregister est dans cette liste, et ne pas être appelé comme une dépendance d'un autre scénario, la meilleure chose à faire est juste wp_deregister_script d'appel avec la poignée énumérés ici.

Très probablement, cependant, vous avez affaire à un cas où un plug-in n'a pas suivi les meilleures pratiques dans l'ajout d'un script. À quoi il ressemble de votre sortie est que certains plug-in a ajouté jQuery 1.5 sans avoir d'abord désinscription jquery et réinscrivant avec la version différente. donc tout ce qui dépend de jquery est une force de la version incluent fourni dans WP.

Autres conseils

Vous pouvez utiliser wp_deregister_style () et wp_deregister_script () pour nettoyer le script Plugin trop agressif / injections de style. Par exemple, voici comment je "Optimize" le style / injections de script de Formulaire de contact 7:

// Optimize Contact Form 7
function deregister_cf7_js() {
   if ( ! is_page( 'contact' ) ) {
    wp_deregister_script( 'contact-form-7' );
     }
}
add_action( 'wp_print_scripts', 'deregister_cf7_js', 100 );

function deregister_ct7_styles() {
   if ( ! is_page( 'contact' ) ) {
        wp_deregister_style( 'contact-form-7' );
    }
}
add_action( 'wp_print_styles', 'deregister_ct7_styles', 100 );

Si vous savez quelles sont les extensions les coupables, vous pouvez utiliser une approche similaire.

Oui, vous pouvez désactiver les plug-ins ou des scripts spécifiques sous forme apparaissant.

Voici un exemple comment je désactivé le fancybox facile de plug-in apparaissant

it helps:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top