Видаліть відкриті Sans з теми двадцять дванадцять


16

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

Відкриті Sans додані у функції двадцяти дванадцяти.php:

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

Я намагався скасувати / видалити таблицю стилів у своїх функціях childtheme.php (див. Приклади нижче), але безрезультатно:

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

Будь-які ідеї, як я можу видалити цей файл? Спасибі!

Відповіді:


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');

Це зробило трюк.


6

На WP 3.8+ я успішно видалив 'Open Sans' зі своїх стилів фронтенду, використовуючи суть хитрості :

<?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' може бути залежним від плагіна.


Це навіть для мене спрацювало на іншу тему. Просто кинув його в моїй дитині Тема Функції ..... Я супер, супер ради цього. Я в Китаї, тому небажані дзвінки в Google не є невеликою оптимізацією - мої сторінки висять пару хвилин, чекаючи, коли виклик Google помер. Це для мене величезне :-D
Майк М

О, і так, я виявив це в плагіні (зондування дезактивації один за одним) == Jetpack ..... величезний і так дуже важко щось знайти, не кажучи вже про модифікацію. Дякую, WP
Майк М

4

У function.php двадцяти дванадцяти 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:

добавлення ('wp_enqueue_scripts', 'ays_setup', 9);

функція ays_setup () {

    / * відсутній шрифт Open Sans у TinyMCE * /
    remove_filter ('mce_css', 'dvadesettwelve_mce_css');

    / * немає шрифту Open Sans для сторінки * /
    видалити запуск ('wp_enqueue_scripts', 'dvadesettwelve_scripts_styles');
    добавлення ('wp_enqueue_scripts', 'ays_scripts_styles');
}

функція ays_scripts_styles () {
    глобальні $ wp_styles;

    / *
     * Додає JavaScript на сторінки з формою коментарів для підтримки
     * сайти з потоковими коментарями (коли вони використовуються).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('коментар-відповідь');

    // Додає 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 ('двадцять-твір', 'умовно', 'lt IE 9');
}

twentytwelve_scripts_stylesмає все, twentytwelve_scripts_stylesкрім біта, який завантажує Open Sans.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.