Как добавить SVG спрайты иконок в тег body?
Я хочу добавить файл SVG иконки после тега body и использую этот код:
<?php include_once("assets/img/sprites.svg"); ?>
Но получаю такую ошибку:
Parse error: syntax error, unexpected T_STRING in /home/ostadba1/public_html/wp-content/themes/ostad/assets/img/sprites.svg on line 1
Цель этого - чтобы я мог использовать эти иконки одной строкой кода:
<svg class="icon"><use xlink:href="#shopping-cart"></use></svg>
Как правильно загрузить SVG файл в WordPress?

Потому что это неправильный способ подключения SVG в PHP.
Функция include_once
используется для включения PHP-файлов.
Причина этой ошибки:
PHP Parse error: syntax error, unexpected version (T_STRING)
заключается в том, что PHP не смог распознать начало SVG-файла в месте, где объявлена версия XML:
<?xml version="1.0" encoding="utf-8"?>
Решение 1: Чтобы исправить это, просто удалите XML-заголовок из вашего SVG-файла.
Решение 2: Следуйте этим руководствам. (Рекомендуется)
- Идеальный рабочий процесс для встроенных SVG в WordPress
- Использование встроенных SVG-спрайтов в темах WordPress
Это гораздо лучший способ подключения SVG в ваших темах.
Оба руководства объясняют одну и ту же концепцию.
Они помогут вам понять, как правильно подключать SVG в PHP для WordPress.
Теперь, как подключить их после тега body?
Для этого вам нужно применить методы из этих руководств в соответствующих файлах вашей темы.
Например, если ваша тема открывает тег body в index.php
, вам нужно изменить index.php
и добавить SVG там.
Решение 3:
<?php echo file_get_contents("filename.svg"); ?>
Вы можете просто вывести содержимое вашего SVG-файла в любом месте HTML-раздела вашего PHP-файла.
Однако, работа с файлами темы требует определенных знаний PHP и WordPress.

Команда include_once()
используется для подключения PHP-файлов. SVG – это просто файл изображения, и в большинстве случаев его следует обрабатывать так же, как и другие файлы изображений.
Если вы хотите использовать SVG в качестве шрифта, его необходимо подключить в CSS-файле следующим образом:
@font-face{
font-family:my-font;
url('ВАШ SVG URL ЗДЕСЬ') format('svg');}
После этого вы можете использовать определенные коды шрифта для вызова различных частей спрайта. Существует множество руководств о том, как использовать SVG в качестве шрифта.
Другой вариант – использовать тег <img>
, как предложил Брайан в комментариях.
Также SVG можно использовать в качестве фоновых изображений, аналогично тому, как файлы jpg
применяются в свойстве background-image
в CSS.
