Главная - Советы и подсказки - Как внедрить оригинальный шрифт без плагина WP Cufon
Мой сервер для вашего сайта

Как внедрить оригинальный шрифт без плагина WP Cufon

Я около года или больше назад писал в своем блоге о использовании оригинальных шрифтов на WordPress с помощью плагина WP Cufon, даже перевел его и выложил для скачивания.

Оригинальные шрифты — это те шрифты, которые не поддерживаются браузерами и, соответственно, вы не можете их использовать на своем сайте. Для использования оригинальных шрифтов было разработано несколько способов, один из которых сегодня стал очень популярным.

Подробно рассказывать о использовании скрипта Cufon с помощью плагина WP Cufon не буду. Если интересно — можете прочесть здесь.

Сегодня я хочу показать, как можно внедрить скрипт cufon в тему шаблона WordPress и использовать оригинальный шрифт без плагина WP-Cufon.

Наверняка, вы уже читали о том, что чем меньше сторонних плагинов — тем лучше, тем быстрее работает ваш сайт, потому что внешнее подключение стороннего кода всегда чуть «тормозит» работу сайта, а все плагины — это и есть внешне подключаемый код PHP. Есть даже жесткие правила и требования к ускорению сайта через объединение общего кода в одинаковых файлах: например, того же стиля в файлах CSS — в один файл, скриптов JS — в один файл, и так далее.

Итак, что нам, а точнее, вам понадобится для внедрения кода Cufon?

Сначала нужен сам скрипт JS.

Его можно скачать на сайте разработчиков, а можно — у меня по ссылке ниже:


Далее, вам нужен скрипт шрифта. Я могу вам посоветовать почитать мои статьи о плагине, там я давал пошаговую инструкцию — как создать из файла шрифта скрипт шрифта. Те, кто хочет просто попробовать — могу предложить небольшой сборник готовых скриптов нескольких шрифтов, которые я периодически использую. В этот сборник вошли такие популярные и известные шрифты, как:

  • Calibri
  • Compact
  • Arabic
  • Burlak
  • Monotype Corsiva
  • Myriad Pro
  • Palatino Linotype

Все шрифты — кириллические, чистые, можете смело их качать:


Чтобы у вас заработали скрипты в шаблоне — советую сделать следующие действия:

  1. Создайте папку в шаблоне и назовите ее /js
  2. Загрузите в эту папку два файла: cufon-yui.js и любой на ваш выбор скрипт шрифта, например — Burlak_400.font.js.
  3. Откройте файл header.php и где-нибудь внутри тега HEAD, до его закрытия /HEAD впишите такие строки:

 

<script src=»<?php bloginfo(‘template_directory’); ?>/includes/js/cufon-yui.js» type=»text/javascript»></script>
<script src=»<?php bloginfo(‘stylesheet_directory’); ?>/fonts/Burlak_400.font.js» type=»text/javascript»></script>

 

Первая строка вызывает к работе скрипт Cufon, вторая — скрипт шрифта. Но этого пока недостаточно. Шрифту нужно показать, в каком контейнера свойств, описанных в файле style.css, выполнить необходимую замену стандартнго шрифта на ваш, оригинальный шрифт.

Например, вы хотите заменить все теги H2 (это обычно заголовки записей) на оригинальный. Отлично! В том же файле header.php, чуть ниже строк, которые вы уже добавили, ДО закрытия тега </head>, вставьте следующий скрипт:

<script type=»text/javascript»>
Cufon.replace(‘h2’, {hover: true});
</script>

Параметр replace дает команду скрипту выполнить замену шрифта там, где есть теги h2, обязательно учитывая функцию наведения курсора на заголовок H2 (hover:true).

Теперь сохраните файл (не забывайте, что файлы PHP нужно редактировать правильным редактором!). Перегрузите сайт и посмотрите, работает  оригинальный шрифт или нет. Должен работать, отвечаю сразу на вопросы в комментариях :).

Еще примеры использования скрипта который указывает на замену тех или иных свойств начертания шрифтов на сайте. Много других примеров ищите в Сети:

Cufon.set(‘fontFamily’, ‘NiftyFont’);

Cufon.replace(‘#welcome’);
Cufon.replace(‘#sidebar h2’);
Cufon.replace(‘#content .title’);

Cufon.set(‘fontFamily’, ‘AnotherNiceFont’);
Cufon.replace(‘h4’);
Cufon.replace(‘.quote’);
Cufon.replace(‘#message’);

Access via JavaScript frameworks: (e.g. jQuery needs to be enabled)
Cufon.replace(‘#your_div_id &amp;gt; h1:first-child’, { fontFamily: ‘FontName With Spaces’ });
Cufon.replace(‘#your_div_id a’, { fontFamily: ‘FontName’ });
Cufon.replace(‘#your_div_id’, { fontFamily: ‘FontName-Medium’ });

Other Examples:
Cufon.set(‘fontFamily’, ‘Vegur’);
Cufon.replace(‘#blog-title a’, { hover: true });
Cufon.replace(‘.menu a’, { hover: true, fontWeight: ‘800’ });
Cufon.replace(‘.aside h3’);
Cufon.replace(‘h1.page-title’ , { fontWeight: ‘400’ });
Cufon.replace(‘h1.entry-title’, { fontWeight: ‘400’ });
Cufon.replace(‘h2.entry-title’, { fontWeight: ‘400’, hover: true });

Все эти варианты — с учетом ваших свойств в файле стилей style.css.

Надеюсь, моя шпаргалка кому-нибудь поможет.

Ваши отзывы и комментарии — чуть ниже, пожалуйста :)

https://unicodsgn.com — разработка интернет-сайтов. Хотите заказать себе уникальный сайт у профессиональной студии? Тогда вам сюда. Здесь действительно работает мастера своего дела. Согласитесь, ведь каждый должен заниматься тем, что он лучше умеет.

Обо мне

Я более шести лет профессионально занимаюсь сайтами на CMS WordPress: перевод на русский тем и плагинов; разработка уникальных тем под заказ; сопровождение сайтов, защита и безопасность, продвижение в поисковых системах. У меня несколько своих проектов, в которых я пишу только о WordPress, продаю свои авторские работы, пишу платные и бесплатные видео-уроки. В свободное время люблю ездить на рыбалку. И еще - хочу завести собаку.


31 комментарии

  1. Олег! Извините, это опять я со своей ижицей. Вставил Ваши скрипты Cufon и ижицу в существующую папочку js выбранного мной шаблона Rustik. Вставил указаный Вами адрес script src в файл шаблона header php с коррекцией вместо бурлак на ижицу. А вот где и как Cufon узнает, чтобы он писал именно текст или цитату? Пожалуйста помогите. Не бесплатно. С уважением Mikula

    • Мне кажется, что я достаточно написал на эту тему в разных своих блогах, включая Школу, что не хочется повторяться а дать совет: читайте внимательно, ведь есть комментарии в которых меня поблагодарили, значит, я в своих рассказах ничего не упустил.
      Как видит? Найдите в обзоре примеры, их там десятки. Он видит когда вы указываете ему на стили, самый маленький пример: заменить тег h2 надо вставить команду:
      [php]
      <script type=»text/javascript»>
      Cufon.replace(‘h2′, {hover: true});
      </script>
      [/php]

  2. Хотя в панели навигации шрифт сначала применяется, а потом опять меняется на стандартный

  3. Братан, от души благодарю!!!

  4. Спасибо за подборочку шрифтов!

  5. У кого получилось, помогите пожалуйста!!!

    • Я вам специально давал ссылку на форум WordPress, чтобы вы почитали — КАК правильно задавать вопросы.
      Вы или не читаете, или не видите, или считаете ниже своего достоинства обращать внимание на полезные советы.

  6. Спасибо, видно здесь мне не кому помочь! Удачи.

    • Если не научитесь задавать вопросы — вам никто никогда и нигде не поможет, поверьте мне на слово.

  7. У меня не получилось, сделала все как в инструкции. Хочу заменить шрифт в названии сайта! Что нужно сделать?

    • Мне надо догадаться, почему у вас не получилось, если вы все сделали по инструкции?
      Если вы сделали все по инструкции — должно получиться. Если не получилось, значит, что-то пропустили или сделали не правильно.

      • Вставила два блока подрят:
        сначала вот этот:

        &amp;lt;head&amp;gt;

        ….

        &amp;lt;script src=&amp;quot;&amp;lt;?php bloginfo(‘template_directory’); ?&amp;gt;/js/cufon-yui.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
        &amp;lt;script src=&amp;quot;&amp;lt;?php bloginfo(‘stylesheet_directory’); ?&amp;gt;/js/Calibri_400.font.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;

        &amp;lt;/head&amp;gt;

        потом этот:

        &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
        Cufon.replace(‘h1’, {hover: true});
        &amp;lt;/script&amp;gt;

        &amp;lt;/head&amp;gt;

        Обновила, не работает!?

        • Послушайте, Кристина, во-первых, ваш код, который вы сюда вставили, не корректен. У меня выше формы комментариев есть подсказка — как правильно вставлять код PHP в комментарии.
          Из того, что вы мне показывает, я ничего разобрать не могу.
          Есть отличный ресурс — https://pastebin.com/, здесь можно вставить код и он будет корректно отображен, а потом в комментарии просто прислать на него ссылку.
          Во-вторых, из вашего комментария мне не понятно — где именно, в каком файле, в каком месте, вы вставляли этот код.
          В-третьих, я вижу в коде два раза закрывающийся тег HEAD. Каким образом?
          Пожалуйста, когда задаете сложные вопросы, пишите подробно, ведь я не Кашпировский угадывать на расстоянии не умею.
          Хотите бесплатный совет?
          Почитайте правила, — как задавать правильные вопросы. Здесь — https://codex.wordpress.org/Правила_форума
          Чем правильней и информативней ваш вопрос — тем больше шансов получить быстрый и точный ответ, а не вести часовую переписку ни о чем…
          Сори, если зацепил или обидел.

          • Скажите пожалуйста, вы пишите статьи для веб-мастеров или для новичков?

            И еще вопрос:
            Вы написали коды, я их вставила в header.php как сказано и куда сказано! Нужно ли в них менять под свой сайт ( именно для названия сайта) и еще менять сам шрифт в вставляемом коде?
            P.S. как у вас закрывается тег HEAD два раза так и вставляю! Извините елси я ничего не понимаю в кодировке.

          • Кристина, новички бывают разные. У одних получается, у других — не получается.
            Кто в этом виноват? Уж точно — не я…

  8. А где именно нужно создать папку /js в шаблоне? Назовите пожалуйста место!

    • В любом, лучше — в основной корневой папке шаблона. Должно быть так:
      /ваш_шаблон/js/

  9. А можно же проще прописать где нужно в font-family: название шрифта, вроде оно есть в самом файле шрифта?

    • Если вы внимательно читали, разговор идет об оригинальных шрифтах, которые через font-family прописать нельзя

  10. Здравствуйте!
    Сделал все как написано у вас на сайте
    _https://www.bestwordpress.org.ua/archives/15040
    но не получилось. В заголовках поста появляется мой шрифт, но когда наводишь на него мышкой, шрифт остается прежним… и больше не возвращается. Только после перегрузки страницы.
    Сайт _https://paneliriko.pllaneta.ru/blog
    Тема avisio

    • Автор в своей теме тоже использует оригинальные шрифты, поэтому у вас возник конфликт в коде. Вам надо или отказаться от моего варианта, или посмотреть внимательно, какой шрифт использует автор, и просто подставить вместо него кириллический. Этот шаблон у меня есть в магазине премиум-шаблонов, можете посмотреть — https://www.skininfo.ru/preview21/blog

      • Спасибо за ответ!
        Подскажите, пожалуйста, как вы вышли из данной ситуации.
        Шаблон ведь одинаковый, какой шрифт вы заменили и где.

        • Если говорить об этом шаблоне — то здесь все намного проще.
          Откройте панель настроек шаблона, страница Главные опции (Avisio Options) и выберите в списке шрифтов вариант шрифта — Droid Sans. Этот шрифт — единственный в списке шрифтов автора, который поддерживает кириллические символы.

  11. Есть хорошая тема InStyle ElegantThemes русский стильный шаблон WordPress Там это не сработало в заголовках Может помножите )))

    • В шаблонах Ника Роача эта проблема решается иначе. Смотрите внимательно папку /js, ищите в ней скрипты cufon и скрипты шрифтов, замените на скрипт с поддержкой кириллических символов, ищите в файле header.php запуск скрипта и смотрите, какие там команды. Думайте. Пробуйте сделать под себя.
      Я с Ником сотрудничаю, перевожу его шаблоны и выкладываю в своем магазине платных премиум-тем по адресу skininfo.ru.
      Кто находит шаблоны Ника на варезах, сталкиваются с проблемой отображения кириллических символов. И не только с этой проблемой. Наверняка, в таких шаблонах еще куча закодированного кода.

  12. Мысль изменить шрифты хорошая и Вы доходчиво все разъяснили. Может рискну попробовать.

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*