Supprimer le thème Open Sans du thème Twenty Twelve

16

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 les fonctions de Twenty Twelve.php:

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

J'ai essayé de désenregistrer / retirer la feuille de style dans le fichier functions.php de mon enfant (voir les exemples ci-dessous) mais sans résultat:

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 sur la façon de supprimer ce fichier? Merci!

Mattvic
la source

Réponses:

12

Trouvé la réponse ici :

Les appels de retrait de script doivent être ajoutés au hook d'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 au début du processus wp_head. Le hook wp_print_scripts se produit juste avant l'impression des scripts et est donc le dernier en date du processus. (Otto)

En suivant la même logique que nous pouvons utiliser wp_print_stylespour 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 l'affaire.

Mattvic
la source
6

Sur WP 3.8+, j'ai supprimé avec succès 'Open Sans' de mes styles frontend en utilisant l'essentiel de thetrickster :

<?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 de plugin.

sglessard
la source
Cela a même fonctionné pour moi sur un thème différent. Je viens de le déposer dans mes fonctions de thème enfant ..... Je suis super, super heureux à ce sujet. Je suis en Chine, donc les appels Google indésirables ne sont pas une petite optimisation - mes pages se bloquent pendant quelques minutes en attendant que l'appel à Google meure. C'est énorme pour moi :-D
Mike M
Oh, et oui je l'ai identifié dans un plugin (sonde avec désactivation une à la fois) == Jetpack ..... énorme et donc très difficile à trouver quelque chose, encore moins à modifier. Merci, WP
Mike M
4

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

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

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

Votre tentative qui n'a pas fonctionné manquait le paramètre de priorité dans le add_action(). 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 retirer avec la priorité 11.

Rafi
la source
3

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 rester avec une version plus ancienne).

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

add_action ('wp_enqueue_scripts', 'ays_setup', 9);

function ays_setup () {

    / * pas de police Open Sans dans TinyMCE * /
    remove_filter ('mce_css', 'vingttwelve_mce_css');

    / * pas de police Open Sans pour la page * /
    remove_action ('wp_enqueue_scripts', 'vingttwelve_scripts_styles');
    add_action ('wp_enqueue_scripts', 'ays_scripts_styles');
}

function ays_scripts_styles () {
    global $ wp_styles;

    / *
     * Ajoute JavaScript aux pages avec le formulaire de commentaire pour soutenir
     * sites avec commentaires filetés (lorsqu'ils sont utilisés).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('commentaire-réponse');

    // Ajoute JavaScript pour gérer le 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 ('style vingt-douze', get_stylesheet_uri ());

    // Charge la feuille de style spécifique à Internet Explorer.
    wp_enqueue_style ('vingttwelve-ie', get_template_directory_uri (). '/css/ie.css', array ('vingttwelve-style'), '20121010');
    $ wp_styles-> add_data ('vingttwelve-ie', 'conditionnel', 'lt IE 9');
}

twentytwelve_scripts_stylescontient tout twentytwelve_scripts_stylessauf le bit qui charge Open Sans.

Júlio Reis
la source