Eliminar Open Sans del tema Twenty Twelve

14

Estoy creando un tema secundario para Twenty Twelve v1.0 y quiero eliminar la fuente Open Sans.

Se agrega Open Sans en Twenty Twelve´s functions.php:

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

He intentado anular el registro / eliminación de la hoja de estilo en las funciones de mi hijo en el tema (ver ejemplos a continuación) pero sin ningún efecto:

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

¿Alguna idea de cómo puedo eliminar este archivo? ¡Gracias!

    
pregunta Mattvic 28.09.2012 - 09:16

4 respuestas

12

Encontró la respuesta aquí :

  

Las llamadas de eliminación de secuencias de comandos deben agregarse a la acción wp_print_scripts   gancho(..). Esto se debe a que los scripts suelen estar en cola en el   wp_enqueue_script hook, que ocurre al principio del proceso wp_head.   El gancho wp_print_scripts ocurre justo antes de que se impriman los scripts,   y por lo tanto es lo último en el proceso. (Otto)

Siguiendo la misma lógica, podemos usar wp_print_styles para eliminar la fuente Open Sans:

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

Esto hizo el truco.

    
respondido por el Mattvic 28.09.2012 - 10:06
6

En WP 3.8+, eliminé con éxito 'Open Sans' de mis estilos frontend utilizando la esencia del 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' puede ser una dependencia de complemento.

    
respondido por el sglessard 19.02.2014 - 17:05
4

En las funciones.php de Twenty Twelve v1.1, un comentario explica cómo eliminar la hoja de estilo del gancho wp_enqueue_scripts :

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

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

Faltó el parámetro de prioridad en el add_action() . El tema principal pone en cola el estilo con la prioridad predeterminada de 10, por lo que el tema secundario debe eliminarlo de la prioridad 11.

    
respondido por el Rafi 21.03.2013 - 17:03
3

Encontrará que WordPress también carga Open Sans (al menos la versión 3.8). De hecho, cargaba Open Sans tres veces para mí: una para el administrador de WP, una para el editor de TinyMCE y otra para la página.

Si su objetivo es eliminar Open Sans por completo, deberá piratear WordPress (o quedarse con una versión anterior).

Mi propio código para eliminar Open Sans (al menos cuando un usuario no ha iniciado sesión, que es la mayoría de las veces) es functions.php de mi tema:

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 tiene todo en twentytwelve_scripts_styles excepto el bit que carga Open Sans.

    
respondido por el Júlio Reis 21.01.2014 - 22:01

Lea otras preguntas en las etiquetas