Supprimer le thème Open Sans de Twenty Twelve

14

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 cela n'a aucun effet:

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

Avez-vous des idées pour supprimer ce fichier? Merci!

    
posée Mattvic 28.09.2012 - 09:16

4 réponses

12

Vous avez trouvé la réponse ici :

  

Les appels de suppression de file d'attente de script doivent être ajoutés à l'action wp_print_scripts   crochet(..). En effet, les scripts sont généralement mis en file d'attente sur le serveur.   Le hook wp_enqueue_script, 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 la dernière dans le processus. (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 l'affaire.

    
réponse donnée Mattvic 28.09.2012 - 10:06
6

Sur WP 3.8+, j'ai supprimé avec succès "Open Sans" de mes styles frontaux en utilisant Le contenu 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 du plugin.

    
réponse donnée sglessard 19.02.2014 - 17:05
4

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

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

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

Il manquait le paramètre de priorité dans add_action() pour votre tentative infructueuse. 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.

    
réponse donnée Rafi 21.03.2013 - 17:03
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 reprises: une pour l’administrateur WP, une pour l’éditeur TinyMCE et une 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 à 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' );

    /* no Open Sans font for the page */
    remove_action( 'wp_enqueue_scripts', 'twentytwelve_scripts_styles' );
    add_action( 'wp_enqueue_scripts', 'ays_scripts_styles' );
}

function ays_scripts_styles() {
    global $wp_styles;

    /*
     * Adds JavaScript to pages with the comment form to support
     * sites with threaded comments (when in use).
     */
    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
        wp_enqueue_script( 'comment-reply' );

    // Adds JavaScript for handling the navigation menu hide-and-show behavior.
    wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );

    // Loads our main stylesheet.
    wp_enqueue_style( 'twentytwelve-style', get_stylesheet_uri() );

    // Loads the Internet Explorer specific stylesheet.
    wp_enqueue_style( 'twentytwelve-ie', get_template_directory_uri() . '/css/ie.css', array( 'twentytwelve-style' ), '20121010' );
    $wp_styles->add_data( 'twentytwelve-ie', 'conditional', 'lt IE 9' );
}

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

    
réponse donnée Júlio Reis 21.01.2014 - 22:01

Lire d'autres questions sur les étiquettes