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

Дозволяє додати або видалити протоколи, які можна використовувати в URL-адресі.

Якщо протокол не дозволений, при очищенні контенту (HTML коду) URL буде видалено. Наприклад, якщо ми додамо посилання виду viber://chat?number=+79281234567в атрибут hrefу меню навігації, він буде видалено.

Використання

add_filter( 'kses_allowed_protocols', 'wp_kama_kses_allowed_protocols_filter');

/**
 * Function for `kses_allowed_protocols` filter-hook.
 *
 * @param string[] $protocols Array of allowed protocols eg 'http', 'ftp', 'tel', and more.
 *
 * @return string[]
 */
function wp_kama_kses_allowed_protocols_filter( $protocols ){

	// Filter...
	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'
);

Приклади

0

#1 Як додати посилання на Viber у меню (wp_nav_menu)

Якщо спробувати вставити посилання на viber в меню навігації WordPress, то при збереженні воно буде вирізане, оскільки двигун не знає про протокол viber.

Як створити посилання на Viber?

У Вайбера існує 2 різні варіанти посилань – для комп’ютера та телефону.

Посилання для ПК має вигляд:

viber://chat?number=+79281234567

Посилання для телефону:

viber://add?number=79281234567

Необхідно просто замінити на посиланнях вище номер телефону на ваш.

Важливо! В одному варіанті є «+», в іншому – ні.

Додавання посилання на 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, двигун знає, що це безпечне посилання і дозволяє його зберігати та виводити (вона не буде вирізана чи видалена).

список змін

З версії 3.0.0Введено.

Де викликається хук

kses_allowed_protocols

wp-includes/functions.php 6914

$protocols = array_unique( (array) apply_filters( 'kses_allowed_protocols', $protocols ) );

Де використовується хук у WordPress

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *