Remover Open Sans do tema Twenty Twelve

16

Estou criando um tema filho para Twenty Twelve v1.0 e quero remover a fonte Open Sans.

O Open Sans é adicionado nas funções de Twenty Twelve.php:

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

Eu tentei cancelar o registro / desenfileirar a folha de estilo nas funções do meu filho.php (veja exemplos abaixo), mas sem efeito:

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

Alguma idéia de como posso remover este arquivo? Obrigado!

Mattvic
fonte

Respostas:

12

Encontre a resposta aqui :

As chamadas de desenfileiramento de scripts devem ser adicionadas ao gancho de ação wp_print_scripts (..). Isso ocorre porque os scripts geralmente são enfileirados no gancho wp_enqueue_script, o que acontece no início do processo wp_head. O gancho wp_print_scripts acontece logo antes da impressão dos scripts e, portanto, é o mais recente do processo. (Otto)

Seguindo a mesma lógica, podemos usar wp_print_styles para remover a fonte Open Sans:

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

Isso fez o truque.

Mattvic
fonte
6

No WP 3.8+, removi com êxito o 'Open Sans' dos meus estilos de front- end usando a essência do 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' pode ser uma dependência de plug-in.

sglessard
fonte
Isso funcionou para mim em um tema diferente, até. Apenas coloquei no meu filho Theme Functions ..... Estou super, super feliz com isso. Como estou na China, as chamadas indesejadas do Google não são uma otimização pequena - minhas páginas ficam pendentes por alguns minutos, esperando a chamada do Google morrer. Isso é enorme para mim :-D #
Mike M
Ah, e sim, eu o identifiquei em um plug-in (tentando desativar um de cada vez) == Jetpack ..... enorme e muito difícil de encontrar algo, muito menos modificar. Obrigado, WP
Mike M
4

No functions.php do Twenty Twelve v1.1, um comentário explica como remover a folha de estilo do wp_enqueue_scriptsgancho:

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

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

Sua tentativa que não funcionou estava faltando o parâmetro priority no add_action(). O tema pai enfileira o estilo com a prioridade padrão 10, portanto o tema filho precisa desenfileirá-lo com a prioridade 11.

Rafi
fonte
3

Você verá que o próprio WordPress também carrega o Open Sans (pelo menos a versão 3.8). Na verdade, ele carregava o Open Sans três vezes para mim: um para o administrador do WP, um para o editor TinyMCE e outro para a página.

Se seu objetivo é remover o Open Sans por completo, você precisará invadir o WordPress (ou ficar com uma versão mais antiga).

Meu próprio código para remover o Open Sans (pelo menos quando um usuário não está logado, na maioria das vezes) é o meu tema functions.php:

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

função ays_setup () {

    / * nenhuma fonte Open Sans no TinyMCE * /
    remove_filter ('mce_css', 'twentytwelve_mce_css');

    / * nenhuma fonte Open Sans para a página * /
    remove_action ('wp_enqueue_scripts', 'twentytwelve_scripts_styles');
    add_action ('wp_enqueue_scripts', 'ays_scripts_styles');
}

função ays_scripts_styles () {
    global $ wp_styles;

    / *
     * Adiciona JavaScript às páginas com o formulário de comentário para suporte
     * sites com comentários encadeados (quando em uso).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('comentário-resposta');

    // Adiciona JavaScript para manipular o comportamento de ocultar e mostrar do menu de navegação.
    wp_enqueue_script ('navegação vinte e doze', get_template_directory_uri (). '/js/navigation.js', array (), '1.0', true);

    // Carrega nossa folha de estilo principal.
    wp_enqueue_style ('estilo vinte e doze', get_stylesheet_uri ());

    // Carrega a folha de estilo específica do Internet Explorer.
    wp_enqueue_style ('vinte-doze-ie', get_template_directory_uri (). '/css/ie.css', array ('vinte-doze-estilo'), '20121010');
    $ wp_styles-> add_data ('vinte-doze-ie', 'condicional', 'lt IE 9');
}

twentytwelve_scripts_stylestem tudo, twentytwelve_scripts_stylesexceto o bit que carrega o Open Sans.

Júlio Reis
fonte