В 2013 году в CMS WordPress появилась новая тема — Twenty Thirteen, которая достаточно хороша: написана с использованием HTML5, корректно ведёт себя на разных размерах экрана и не страдает обилием ненужных финтифлюшек. Но не обошлось и без ложки дёгтя: в теме используются взятые с Google Fonts шрифты Bitter и Source Sans Pro — они весьма хороши, но в них нет кириллицы. Понятно, что можно, создав дочернюю тему, поправить используемые в ней стилевые правила, указав нужные шрифты, однако хочется сделать всё правильно: и загрузить нужный шрифт, и избежать загрузки ненужного.
Поиск не дал готового решения (что, вообще-то, странно) — пришлось изобретать самому, руководствуясь тем, что нашлось. Итак, для замены шрифтов надо:
- Создать дочернюю тему;
- В стилевом файле style.css дочерней темы указать нужные шрифты;
- Отключить загрузку ненужных и добавить загрузку нужных шрифтов, добавив в файл functions.php дочерней темы такой код:
if ( ! function_exists('child_fonts_url')) { function child_fonts_url() { $fonts_url = ''; $open_sans = _x( 'on', 'Open Sans font: on or off', 'child' ); $open_sans_condensed = _x( 'on', 'Open Sans Condensed font: on or off', 'child' ); if ( 'off' !== $open_sans || 'off' !== $open_sans_condensed ) { $font_families = array(); if ( 'off' !== $open_sans ) $font_families[] = 'Open Sans:400italic,400,700'; if ( 'off' !== $open_sans_condensed ) $font_families[] = 'Open Sans Condensed:300'; $query_args = array( 'family' => urlencode( implode( '|', $font_families ) ), 'subset' => urlencode( 'latin,cyrillic' ), ); $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' ); } return $fonts_url; } // function child_fonts_url } function disable_twentythirteen_fonts() { wp_deregister_style('twentythirteen-fonts'); } add_action( 'wp_enqueue_scripts', 'disable_twentythirteen_fonts', 11 ); wp_enqueue_style( 'child-fonts', child_fonts_url() );
Здесь child — имя дочерней темы. Функция child_fonts_url
списана с twentythirteen_fonts_url
из темы Twenty Thirteen — изменены лишь используемые шрифты (имена шрифтов и переменных, список начертаний и наборов символов) да название функции.
Вы должны авторизоваться чтобы опубликовать комментарий.