Статьи

Руководство для начинающих по иконкам шрифтов в WordPress

Мне нравятся социальные иконки, я это признаю. У меня есть буквально десятки наборов социальных иконок, которые я собрал за последние несколько лет, и даже создал несколько своих собственных наборов, чтобы попытаться добиться того, чтобы они идеально подходили для конкретного проекта.

Но в последнее время я обнаружил иконки-шрифты и давно не использовал эти старые иконки.

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

Это большое дело, потому что с иконками изображений вы получаете статические изображения. Вы можете получить несколько разных размеров одного и того же изображения, но вы действительно не можете ничего с ними сделать, кроме как использовать их как есть.

Значок, который на самом деле является шрифтом, — это совсем другое животное. Хотя это правда, что значки проще по внешнему виду, они компенсируют их минимализм, будучи очень настраиваемыми. С помощью значка шрифта вы можете легко изменить размер и цвет значка (как текстовые шрифты!). Кроме того, у шрифтов значков есть прозрачный фон, который действительно работает в старых версиях Internet Explorer, если вам подходит работа в старой версии IE.

Еще одним преимуществом является то, что они могут заменить спрайты изображений CSS. Использование собственного шрифта значков с ограниченным количеством значков работает аналогично спрайтам изображений, но дает вам возможность стилизовать значки, например, текст.

Будет ли шрифт значков работать лучше, чем значки изображений в вашем конкретном проекте, решать вам; у них обоих есть плюсы и минусы. Но для наших целей мы предполагаем, что вы готовы попробовать иконки-шрифты и хотите знать, как использовать их в теме WordPress.

Для нашего урока мы соберем небольшой набор значков шрифтов в социальных сетях для нашего гипотетического проекта. Нам понадобятся иконки для Facebook, Twitter и Pinterest, так что давайте начнем.

Существует небольшое количество онлайн-генераторов шрифтов иконок, которые позволяют создавать собственные наборы шрифтов только для вас. Вы можете создавать собственные шрифты на индивидуальной основе; это так удобно! Здесь мы собираемся использовать приложение-генератор от Icomoon, поскольку это сервис, который я использовал чаще всего.

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

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

Запустите приложение Icomoon в своем браузере, и вот что вы увидите:

Снимок экрана приложения Icomoon

Загружен бесплатный набор основных шрифтов Icomoon, и вы также можете увидеть несколько других бесплатных значков. Я бы посоветовал взглянуть и на другие наборы, которые не были загружены, так как вы можете найти что-то там, что вам нравится. Для просмотра других доступных наборов прокрутите вниз и нажмите « Другие наборы значков» .

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

Вернувшись на главный экран, и если вы хотите удалить набор, щелкните значок меню в правом верхнем углу, а затем « Удалить набор» .

Если у вас есть собственный шрифт значков, возможно, полученный от клиента или загруженный с другого сайта, вы можете загрузить его, нажав кнопку « Импорт значков» в верхней части экрана выбора, и он загрузит значки в вашем наборе. Вы можете выбирать шрифты из этого набора так же, как и наборы шрифтов Icomoon.

Для нашего проекта мы ищем социальные иконки для Facebook, Twitter и Pinterest. Многие из доступных наборов имеют некоторые или все эти значки, так как вы выбираете?

Выбор всех значков из одного и того же набора — простое решение — если набор, который вам нравится (и который соответствует потребностям проекта в проекте), имеет все нужные вам значки, отлично. Используйте те. Иногда это не так — может быть, у того набора, который вам нравится, нет значка Pinterest, или на YouTube немного беленький.

Если это так, выбирайте из разных наборов, но будьте осторожны — Icomoon использует базовый размер сетки для каждого из своих значков шрифтов; для набора Icomoon Free размер сетки равен 16. Вы получите лучшие результаты (самый четкий вид) в браузере, если установите размер шрифта равным 16 или кратным 16.

Если вы посмотрите на значок шрифта Entypo, о котором я упоминал ранее, то увидите, что его базовый размер сетки равен 20, что означает, что вам нужно установить размер шрифта равным 20 или кратным, чтобы получить самые четкие результаты. Если вы хотите смешивать значки из наборов различных базовых размеров сетки, вам просто нужно проверить их в своем браузере, чтобы убедиться, что качество отображения приемлемо. Вы можете просмотреть размеры сетки для всех шрифтов Icomoon, нажав « Просмотреть другие шрифты» в нижней части главного окна приложения.

Учитывая это, вы можете использовать инструмент поиска в верхней части приложения для поиска значков по имени, чтобы вы могли сравнить несколько версий одного и того же социального значка.

Снимок экрана результатов поиска приложения Icomoon

Конечно, вы также можете просто просматривать наборы, что является хорошим способом потерять час времени.

Чтобы выбрать ваши значки, просто нажмите на них. Они будут добавлены в ваш набор автоматически. Когда вы закончите, нажмите кнопку « Шрифт» внизу, и вы увидите все ваши иконки, готовые к загрузке. Нажмите кнопку « Загрузить» , чтобы получить свой новый совершенный пользовательский шрифт, и вы увидите текстовое поле, в котором вы можете назвать свой шрифт — я обычно называю его для клиента, чтобы они были прямыми; в этом случае я назову это «учебник».

Что произойдет, если вы сделаете этот нестандартный шрифт, а затем клиент решит, что он хочет добавить, скажем, Vimeo и Instagram в свои ссылки на социальные сети в следующем месяце? Вы должны начать с нуля?

Нет, ты не

В вашей загрузке будет файл selection.json котором хранятся все настройки вашего проекта. Все, что вам нужно сделать, это открыть приложение Icomoon и щелкнуть « Импорт значков», чтобы загрузить файл JSON, и ваш выбор снова отобразится. Вы добавите новые значки, затем заново создадите шрифт и загрузите его снова.

Теперь мы подошли к полутрюковым частям.

Загрузите четыре файла в папку /fonts вашего собственного шрифта в папку /fonts в вашей теме.

Откройте файл style.css в своем собственном шрифте и скопируйте фрагмент @font-face который выглядит следующим образом:

01
02
03
04
05
06
07
08
09
10
@font-face {
 font-family: ‘tutorial’;
 src:url(‘fonts/tutorial.eot?6npck9’);
 src:url(‘fonts/tutorial.eot?#iefix6npck9′) format(’embedded-opentype’),
 url(‘fonts/tutorial.woff?6npck9’) format(‘woff’),
 url(‘fonts/tutorial.ttf?6npck9’) format(‘truetype’),
 url(‘fonts/tutorial.svg?6npck9#tutorial’) format(‘svg’);
 font-weight: normal;
 font-style: normal;
}

Затем вставьте этот фрагмент в файл style.css вашей темы. Не забудьте изменить URL, где шрифты будут в вашей теме, если вы используете что-то, кроме каталога ‘fonts’.

Есть два основных способа сделать это; один использует класс для каждого значка, чтобы добавить их в качестве псевдоэлементов (это тот, который я использую), а другой использует атрибут данных, чтобы добавить их как фактические элементы в HTML.

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

Скриншоты иконок шрифтов в действии

Перейдите в файл functions.php вашей темы и добавьте этот код:

1
2
3
4
5
6
7
8
9
<?php function my_header_elements() { ?>
<ul class=»social»>
 <li><a href=»#»><span class=»icon-twitter»>
 <li><a href=»#»><span class=»icon-pinterest»>
 <li><a href=»#»><span class=»icon-facebook»>
 </ul>
 <?php
}
add_action( ‘hybrid_header’, ‘my_header_elements’ );

Затем вернитесь в файл style.css своего шрифта и скопируйте следующий фрагмент:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[class^=»icon-«], [class*=» icon-«] {
 font-family: ‘tutorial’;
 speak: none;
 font-style: normal;
 font-weight: normal;
 font-variant: normal;
 text-transform: none;
 line-height: 1;
 
/* Better Font Rendering =========== */
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}
 
.icon-facebook:before {
 content: «\e600»;
}
.icon-twitter:before {
 content: «\e601»;
}
.icon-pinterest:before {
 content: «\e602»;
}

Вставьте этот фрагмент в файл style.css вашей темы. Если все идет по плану, у вас должно появиться три значка в заголовке, и вы можете изменить цвет, размер и другие атрибуты, как текст.

Иногда в Chrome @font-face проблемы с отображением значков шрифтов — если они выглядят нестабильно в Chrome, попробуйте изменить порядок ваших @font-face фрагмент так, как SVG, следуя EOT:

01
02
03
04
05
06
07
08
09
10
@font-face {
 font-family: ‘tutorial’;
 src:url(‘fonts/tutorial.eot?6npck9’);
 src:url(‘fonts/tutorial.eot?#iefix6npck9′) format(’embedded-opentype’),
 url(‘fonts/tutorial.svg?6npck9#tutorial’) format(‘svg’),
 url(‘fonts/tutorial.woff?6npck9’) format(‘woff’),
 url(‘fonts/tutorial.ttf?6npck9’) format(‘truetype’);
 font-weight: normal;
 font-style: normal;
}

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

В functions.php вы будете использовать такие атрибуты данных:

1
2
3
4
5
6
7
8
<?php function my_header_elements() { ?>
<ul>
 <li><a href=»#»><span aria-hidden=»true» data-icon=»&#e601;»>
 <li><a href=»#»><span aria-hidden=»true» data-icon=»&#e602;»>
 <li><a href=»#»><span aria-hidden=»true» data-icon=»&#e600;»>
</ul>
<?php }
add_action( ‘hybrid_header’, ‘my_header_elements’ );

И в стиле вашей темы. style.css :

01
02
03
04
05
06
07
08
09
10
[data-icon]:before {
  font-family: ‘tutorial’;
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

Теперь вы знаете основы создания и использования пользовательских значков шрифтов в своей теме WordPress — не так уж сложно. Найдите несколько значков, которые вам нравятся, и попробуйте на следующем проекте.

Вот некоторые ресурсы для следующего шага. Кто знает; в какой-то момент вы можете создать свой собственный значок шрифта, когда просто не можете найти правильный шрифт для этого конкретного проекта.

Другие места для создания пользовательских значков шрифтов:

Если вам нужна дополнительная информация об использовании атрибутов данных, у CSS Tricks есть хороший обзор .