kses_allowed_protocols хук-фильтр . WP 3.0.0

Click here to view original web page at wp-kama.ru

Позволяет добавить или удалить протоколы, которые можно использовать в 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

Использование не найдено.