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.0.2

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