Позволяет добавить или удалить протоколы, которые можно использовать в URL.
Если протокол не разрешен, то при очистке контента (HTML кода) URL будет удален. Например, если мы добавим ссылку вида viber://chat?number=+79281234567
в атрибут href
в меню навигации, то он будет удален.
Использование
add_filter( 'kses_allowed_protocols', 'filter_function_name_765' ); function filter_function_name_765( $protocols ){ // Изменяем... return $protocols; }
- $protocols(string[])
Массив разрешенных протоколов, например,
http
,ftp
,tel
и т.д. Полный список протоколов смотрите в описании функции wp_allowed_protocols(). Для ВП 5.8 он такой:$protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'irc6', 'ircs', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'sms', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn' );
Примеры
#1 Как добавить ссылку на Viber в меню (wp_nav_menu)
Если попробовать вставить ссылку на viber в меню навигации WordPress, то при сохранении она будет вырезана, так как движок не знает о протоколе viber.
Как создать ссылку на Viber?
У Вайбера существует 2 разных варианта ссылок - для компьютера и телефона.
Ссылка для ПК имеет вид:
Ссылка для телефона:
Необходимо просто заменить в ссылках выше номер телефона на ваш.
Важно! В одном варианте есть «+», в другом - нет.
Добавление ссылки на Viber в меню WordPress
Чтобы движок не вырезал ссылку на Viber при сохранении и выводил её в меню, ему нужно сообщить, что существует Такой протокол и он безопасный. Это можно сделать с помощью фильтра wp_allowed_protocols()
add_filter( 'kses_allowed_protocols', 'add_viber_to_allowed_protocols' ); /** * Добавляет протокол viber в список разрешённых. * * @param string[] $protocols Массив разрешенных протоколов, например, 'http', 'ftp', 'tel' и т.д. * * @return string[] */ function add_viber_to_allowed_protocols( $protocols ) { $protocols[] = 'viber'; return $protocols; }
Теперь, когда вы вставите ссылку на Viber, движок знает, что это безопасная ссылка и позволяет её сохранять и выводить (она не будет вырезана или удалена).
Список изменений
Где вызывается хук
kses_allowed_protocols
Где используется хук в ядре WordPress
Использование не найдено.