web-dev-qa-db-fra.com

Supprimer le thème Open Sans de Twenty Twelve

Je crée un thème enfant pour Twenty Twelve v1.0 et je souhaite supprimer la police Open Sans.

Open Sans est ajouté dans functions.php de Twenty Twelve:

wp_enqueue_style( 'twentytwelve-fonts', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null );

J'ai essayé de désenregistrer/supprimer la feuille de style dans le functions.php de mon childtheme (voir les exemples ci-dessous) mais sans effet:

function example_scripts_styles() {     
    wp_deregister_style( 'twentytwelve-fonts' );    
    wp_dequeue_style( 'twentytwelve-fonts' );
}
add_action( 'wp_enqueue_scripts', 'example_scripts_styles' );

Des idées comment je peux enlever ce fichier? Merci!

15
Mattvic

Trouvé la réponse ici :

Les appels de suppression de file d'attente de script doivent être ajoutés au point d'ancrage de l'action wp_print_scripts (..). En effet, les scripts sont généralement mis en file d'attente sur le hook wp_enqueue_script, ce qui se produit tôt dans le processus wp_head. Le hook wp_print_scripts se produit juste avant l’impression des scripts et est donc le dernier en date. (Otto)

En suivant la même logique, nous pouvons utiliser wp_print_styles pour supprimer la police Open Sans:

function remove_open_sans() {
   wp_dequeue_style( 'twentytwelve-fonts' );
}
add_action('wp_print_styles','remove_open_sans');

Cela a fait le tour.

12
Mattvic

Sur WP 3.8+, j'ai supprimé avec succès 'Open Sans' de mes styles frontend en utilisant le Gist du trickster :

<?php
// Remove Open Sans that WP adds from frontend
if (!function_exists('remove_wp_open_sans')) :
    function remove_wp_open_sans() {
        wp_deregister_style( 'open-sans' );
        wp_register_style( 'open-sans', false );
    }
    add_action('wp_enqueue_scripts', 'remove_wp_open_sans');

    // Uncomment below to remove from admin
    // add_action('admin_enqueue_scripts', 'remove_wp_open_sans');
endif;
?>

'Open Sans' peut être une dépendance du plugin.

6
sglessard

Dans le functions.php de Twenty Twelve v1.1, un commentaire explique comment supprimer la feuille de style du crochet wp_enqueue_scripts:

function mytheme_dequeue_fonts() {
         wp_dequeue_style( 'twentytwelve-fonts' );
      }

add_action( 'wp_enqueue_scripts', 'mytheme_dequeue_fonts', 11 );

Le paramètre priority dans add_action() était absent de votre tentative. Le thème parent met en file d'attente le style avec la priorité par défaut de 10; le thème enfant doit donc le mettre en file d'attente avec la priorité 11.

4
Rafi

Vous constaterez que WordPress lui-même charge également Open Sans (au moins la version 3.8). En fait, il chargeait Open Sans trois fois pour moi: un pour l'administrateur WP, un pour l'éditeur TinyMCE et un autre pour la page.

Si votre objectif est de supprimer complètement Open Sans, vous devrez pirater WordPress lui-même (ou conserver une version plus ancienne).

Mon propre code pour supprimer Open Sans (du moins lorsqu'un utilisateur n'est pas connecté, la plupart du temps) correspond au functions.php de mon thème:

 add_action ('wp_enqueue_scripts', 'ays_setup', 9); 
 
 function ays_setup () {
 
/* no Open Sans font in TinyMCE */
 Remove_filter ('mce_css', 'twentytwelve_mce_css'); 
. , 'vingt styles de scripts'); 
 add_action ('wp_enqueue_scripts', 'ays_scripts_styles'); 
} 
 
 function ays_scripts_styles () wp_styles; 
 
 /*
 * Ajoute du JavaScript aux pages contenant le formulaire de commentaire pour prendre en charge les sites 
 * avec des commentaires filetés (en cours d'utilisation). 
 */
 if (is_singular () && comments_open () && get_option ('thread_comments')) 
 wp_enqueue_script ('comment-reply'); 
 
// Ajout de JavaScript pour la gestion du comportement de masquage et d'affichage du menu de navigation. 
 Wp_enqueue_script ('vingt-douze-navigation', get_template_directory_uri (). '/ Js /navigation.js ', array (),' 1.0 ', true); 
 
 // Charge notre feuille de style principale. 
 wp_enqueue_style (' vingt-douze-style ', get_stylesheet_uri () ); 
 
 // Charge la feuille de style spécifique à Internet Explorer. 
 Wp_enqueue_style ('twentytwelve-ie', get_template_directory_uri (). '/css/ie.css', tableau ('style vingt-douze'), '20121010'); 
 $ wp_styles-> add_data ('vingt-douze-ie', 'conditionnel', 'lt IE 9 '); 
} 

twentytwelve_scripts_styles a tout dans twentytwelve_scripts_styles sauf le bit qui charge Open Sans.

3
Júlio Reis