Не самый простой способ, но подходит для тех, кто хочет добавить SVG иконку именно в массив в плагин по аналогии с существующими иконками.
Подходит для однотонных простых иконок, например FontAwesome.
Для этого в плагине предусмотрен фильтр, с его помощью можно добавить новую или изменить существующую иконку.
Установите и активируйте плагин ProFunctions. В него мы будем добавлять код для добавления иконок.
Пример кода, с одной добавленной иконкой:
/**
* Добавить иконку в WPRemark
*/
add_filter( 'wpremark_icons', function( $icons ) {
$icons['my_icon'] = [
'width' => '448',
'height' => '512',
'path' => 'M439.39...64z',
'keywords' => [ 'my', 'icon', 'моя иконка' ],
];
return $icons;
} );
Это фильтр, который получает массив $icons
, в этот массив мы добавляем новый элемент с ключем my_bootstrap_bell
. Это тоже массив с несколькими параметрами:
width
— ширина viewBox
height
— высота viewBox
path
— координаты самой иконки
keywords
— ключевые слова для поиска (не обязательно)
Пример пустого массива для добавления своей иконки:
$icons['my_icon'] = [
'width' => '',
'height' => '',
'path' => '',
'keywords' => [ '' ],
];
Шаг 1.
Скачайте любую иконку, которую собираетесь добавить в массив и откройте ее в любом текстовом редакторе. Вы увидите примерно следующее:
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="ambulance" class="svg-inline--fa fa-ambulance fa-w-20" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M624 352h-16V243....9V256z"></path></svg>
Здесь нас интересуют 2 вещи: viewBox="0 0 640 512"
и <path ... d="...">
.
Шаг 2.
Открываем в редакторе файл profunctions.php и добавляем код:
/**
* Добавить иконку в WPRemark
*/
add_filter( 'wpremark_icons', function( $icons ) {
$icons['my_icon'] = [
'width' => '',
'height' => '',
'path' => '',
'keywords' => [ '' ],
];
return $icons;
} );
Шаг 3.
Переносим данные из иконки в массив.
Первым делом мы меняем название my_icon
на что-то свое. Обязательно оставьте в начале my_ или любой другой префикс, чтобы не конфликтовать с уже существующими иконками. Мы меняем на my_ambulance
.
Из кода иконки viewBox="0 0 640 512"
мы берем ширину и высоту. Третье и четвертое значение — это ширина width
и высота height
соответственно. Это не итоговая ширина и высота иконки, это размеры области иконки к которым привязаны координаты ниже. Просто переносим как есть.
Из кода иконки <path ... d="...">
мы берем все, что находится в атрибуте d=” … “. Все что внутри кавычек мы переносим в path
.
keywords
заполняем по желанию, это ключевые слова, по которым можно найти иконку.
В итоге.
Мы получаем примерно следующий код:
/**
* Добавить иконку в WPRemark
*/
add_filter( 'wpremark_icons', function( $icons ) {
$icons['my_ambulance'] = [
'width' => '640',
'height' => '512',
'path' => 'M624 352h-16V243....9V256z',
'keywords' => [ 'ambulance', 'medicine', 'скорая помощь', 'медицина' ],
];
return $icons;
} );
После этого иконка появляется в конце списка иконок и может использоваться как обычная иконка в плагине.