wp_filter_post_kses()WP 2.0.0

Очищает контент, оставляя в нем только разрешенные HTML теги и добавляет экранирующие слэши.

Тоже что wp_kses_post(), только ожидает экранированные данными.

Функция удаляет слэши (stripslashes()) из переданного текста, обрабатывает его, а затем добавляет слэши обратно. Поэтому если вы очищаете $_POST данные, то делать это надо до того как слэши в тексте будут удалены, перед добавлением данных в БД.

Допустимые теги различаются в зависимости от того какие у пользователя права.

Использует глобальную переменную: $allowedposttags.

Работает на основе: wp_kses()

Хуков нет.

Возвращает

Строку.

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

<?php wp_filter_post_kses( $data ) ?>
$data(строка) (обязательный)
Контент поста, который нужно отфильтровать.

Примеры

0

#1 Демонстрация работы функции

Так функция сработает если вы администратор:

$data = '<p data-url="foo">Автомат.</p>
<span>правилам</span>
<div>Проверка div</div>
<script>Проверка script</script>
<em>Пример. Исходные числа:  66, 43.</em>
<ol>
	<li>Списки</li>
</ol>';

$data = wp_filter_post_kses( $data );

echo htmlspecialchars( $data );

/*
Выведет:
<p>Автомат.</p>
<span>правилам</span>
<div>Проверка div</div>
Проверка script
<em>Пример. Исходные числа:  66, 43.</em>
<ol>
	<li>Списки</li>
</ol>
*/

Список изменений

С версии 2.0.0 Введена.

Код wp_filter_post_kses() WP 6.4.3

function wp_filter_post_kses( $data ) {
	return addslashes( wp_kses( stripslashes( $data ), 'post' ) );
}