Удалить Open Sans из темы двадцать двадцать

16

Я создаю дочернюю тему для Twenty Twelve v1.0 и хочу удалить шрифт Open Sans.

Open Sans добавлен в функции Twenty Twelve.

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

Я попытался отменить регистрацию / удаление таблицы стилей в functions.php моего childtheme (см. Примеры ниже), но безрезультатно:

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

Любые идеи, как я могу удалить этот файл? Благодарность!

Mattvic
источник

Ответы:

12

Нашел ответ здесь :

Вызовы сценариев отмены должны быть добавлены в хук действия wp_print_scripts (..). Это связано с тем, что сценарии обычно ставятся в очередь на хуке wp_enqueue_script, что происходит в начале процесса wp_head. Хук wp_print_scripts происходит непосредственно перед печатью скриптов и, таким образом, является последним в процессе. (Отто)

Следуя той же логике, которую мы можем использовать wp_print_stylesдля удаления шрифта Open Sans:

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

Это добилось цели.

Mattvic
источник
6

В WP 3.8+ я успешно удалил «Open Sans» из своих стилей внешнего интерфейса, используя суть 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» может быть зависимостью плагина.

sglessard
источник
Это сработало для меня даже на другую тему. Только что уронил его в тему функций моего ребенка ..... Я супер, очень доволен этим. Я нахожусь в Китае, поэтому нежелательные звонки от Google - не маленькая оптимизация - мои страницы зависают на пару минут, ожидая, что звонок на Google умрет. Это огромно для меня :-D
Mike M
О, и да, я идентифицировал его в плагине (пробуя отключить его по одному) == Jetpack ..... огромный и очень трудно найти что-то, не говоря уже о модификации. Спасибо, WP
Майк М
4

В файле functions.php Twenty Twelve v1.1 комментарий объясняет, как удалить таблицу стилей из wp_enqueue_scriptsловушки:

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

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

Ваша попытка, которая не сработала, не указала параметр приоритета в add_action(). Родительская тема ставит в очередь стиль с приоритетом по умолчанию 10, поэтому дочерняя тема должна удалить его с приоритетом 11.

Рафи
источник
3

Вы обнаружите, что сам WordPress также загружает Open Sans (по крайней мере, версия 3.8). Фактически он загружал Open Sans три раза для меня: один для администратора WP, один для редактора TinyMCE, а другой для страницы.

Если вашей целью является полное удаление Open Sans, вам придется взломать сам WordPress (или остаться с более старой версией).

Мой собственный код для удаления Open Sans (по крайней мере, когда пользователь не вошел в систему, что происходит чаще всего) - моя тема functions.php :

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

function ays_setup () {

    / * нет шрифта Open Sans в TinyMCE * /
    remove_filter ('mce_css', 'fiftytwelve_mce_css');

    / * нет шрифта Open Sans для страницы * /
    remove_action ('wp_enqueue_scripts', 'fiftytwelve_scripts_styles');
    add_action ('wp_enqueue_scripts', 'ays_scripts_styles');
}

function ays_scripts_styles () {
    global $ wp_styles;

    / *
     * Добавляет JavaScript на страницы с формой комментариев для поддержки
     * сайты с резьбовыми комментариями (при использовании).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('comment-reply');

    // Добавляет JavaScript для обработки поведения скрытия и показа меню навигации.
    wp_enqueue_script ('двадцать двадцать двенадцатая навигация', get_template_directory_uri (). '/js/navigation.js', array (), '1.0', true);

    // Загружает нашу основную таблицу стилей.
    wp_enqueue_style (в стиле двадцати двенадцати, get_stylesheet_uri ());

    // Загружает специфическую таблицу стилей Internet Explorer.
    wp_enqueue_style ('двадцать двадцать двенадцать-то есть', get_template_directory_uri (). '/css/ie.css', массив ('двадцать двенадцать стиля'), '20121010');
    $ wp_styles-> add_data («двадцать двадцать», «условно», «IE 9»);
}

twentytwelve_scripts_stylesесть все, twentytwelve_scripts_stylesкроме бит, который загружает Open Sans.

Жулио Рейс
источник