web-dev-qa-db-fra.com

Supprimer les CSS et JS spécifiques de la tête

J'essaie de supprimer certaines lignes du WP_HEAD. Maintenant mon en-tête ressemble à la manière suivante:

<link rel='stylesheet' id='bootstrap-css'  href='/themes/wp-e/css/bootstrap.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='bootstrap-responsive-css'  href='/themes/wp-e/css/bootstrap-responsive.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='style-css'  href='/themes/wp-e/style.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='prettyPhoto-css-css'  href='/themes/wp-e/css/prettyphoto.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='custom-options-css'  href='/themes/wp-e/css/options.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='oswald_google-fonts-css'  href='http://fonts.googleapis.com/css?family=Oswald%3A400%2C300%2C700&#038;subset=latin%2Clatin-ext&#038;ver=4.2.2' type='text/css' media='screen' />
<link rel='stylesheet' id='thumbs_rating_styles-css'  href='/plugins/rating/css/style.css?ver=1.0.0' type='text/css' media='all' />

<script type='text/javascript' src='/js/jquery/jquery.js?ver=1.11.2'></script>
<script type='text/javascript' src='/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>
<script type='text/javascript' src='/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=4.0.6'></script>
<script type='text/javascript' src='/plugins/rating/js/general.js?ver=4.0.1'></script>

Je dois supprimer tout cela, mais je ne suis pas doué pour le codage et tout ce que je sais, c'est que je dois mettre le

remove_action( 'wp_head', '???' );

Mais je ne sais pas quoi mettre au lieu de ???.

2
IVO

Lorsque vous regardez les balises <style|script> dans votre tête, vous remarquerez l’attribut id. Exemple:

id='bootstrap-css'

Ceci - dans la plupart des cas - a été ajouté par une fonction liée à un crochet wp_enqueue_scripts, wp_enqueue_styles ou wp_register_scripts ou wp_register_styles. Dans le pire des cas, il était relié au crochet wp_head ou au crochet wp_print_scripts.

Dans le processus de traçage des appels qui ajoutent les balises <script|style>, vous devriez être en mesure de voir ce qui est attaché en utilisant quelque chose comme ce qui suit dans un petit plugin ou votre functions.php dans un thème ou un thème enfant:

// See if those scripts/styles were added using the Dependency API
// Search the output for the `id` you can see rendered in the DOM
printf( 
    '<pre>%s</pre>', 
    var_export( $GLOBALS['wp_scripts']->registered, TRUE )
);

Si vous pouvez trouver le script/style dans la sortie ci-dessus, alors vous savez que l'actif a été correctement enregistré (et est donc disponible pour l'optimisation ou toute autre gestion avec des plugins utilisant l'API WordPress).

Si cela était vrai, vous pouvez alors rechercher les actifs vers le haut:

foreach( [
    'wp_enqueue_scripts',
    'wp_print_scripts',
    'wp_head',
] as $action )
    printf( 
        '<h1><code>%1$s</code></h1><pre>%1$s</pre>', 
        var_export( $GLOBALS['wp_filters'][ $action ], TRUE )
    );

Vous aurez imprimé trois "blocs" d’informations. Chacun contiendra un tableau de callbacks attaché au hook spécifique dans le tableau. Vous pouvez ensuite rechercher ceux-ci en utilisant une recherche de fichier croisé sur vos thèmes et plugins pour trouver l'origine de vos actifs. Puis annulez l'enregistrement les actions dont vous souhaitez vous débarrasser.

4
kaiser