Eliminar Open Sans del tema Twenty Twelve

16

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

Open Sans se agrega 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 cancelar el registro / quitar la hoja de estilo en las funciones de mi childtheme.php (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!

Mattvic
fuente

Respuestas:

12

Encontré la respuesta aquí :

Las llamadas en secuencia de secuencia de comandos deben agregarse al enlace de acción wp_print_scripts (..). Esto se debe a que los scripts generalmente se colocan en cola en el enlace wp_enqueue_script, lo que ocurre al principio del proceso wp_head. El enlace wp_print_scripts ocurre justo antes de que se impriman los scripts y, por lo tanto, es el último en el proceso. (Otón)

Siguiendo la misma lógica que podemos usar wp_print_stylespara 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.

Mattvic
fuente
6

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

sglessard
fuente
Esto funcionó para mí en un tema diferente, incluso. Acabo de dejarlo en mi hijo Funciones temáticas ..... Estoy super, super contento con esto. Estoy en China, por lo que las llamadas de Google no deseadas no son una pequeña optimización: mis páginas se cuelgan durante un par de minutos esperando que la llamada a Google muera. Esto es enorme para mí :-D
Mike M
Ah, y sí, lo identifiqué en un complemento (probando con la desactivación de uno en uno) == Jetpack ..... enorme y muy difícil de encontrar algo, y mucho menos modificarlo. Gracias, WP
Mike M
4

En functions.php de Twenty Twelve v1.1, un comentario explica cómo eliminar la hoja de estilo del wp_enqueue_scriptsgancho:

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

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

A su intento que no funcionó le faltaba 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 tiene que quitarlo con prioridad 11.

Rafi
fuente
3

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

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

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

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

función ays_setup () {

    / * no fuente Open Sans en TinyMCE * /
    remove_filter ('mce_css', 'twentytwelve_mce_css');

    / * no fuente Open Sans para la página * /
    remove_action ('wp_enqueue_scripts', 'twentytwelve_scripts_styles');
    add_action ('wp_enqueue_scripts', 'ays_scripts_styles');
}

función ays_scripts_styles () {
    global $ wp_styles;

    / *
     * Agrega JavaScript a las páginas con el formulario de comentarios para apoyar
     * sitios con comentarios enroscados (cuando están en uso).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('comentario-respuesta');

    // Agrega JavaScript para manejar el comportamiento de ocultar y mostrar del menú de navegación.
    wp_enqueue_script ('twentytwelve-navigation', get_template_directory_uri (). '/js/navigation.js', array (), '1.0', verdadero);

    // Carga nuestra hoja de estilo principal.
    wp_enqueue_style ('veintiocho estilo', get_stylesheet_uri ());

    // Carga la hoja de estilo específica de Internet Explorer.
    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_stylestiene todo twentytwelve_scripts_stylesexcepto el bit que carga Open Sans.

Júlio Reis
fuente