wp_filter_post_kses()
Очищає контент, залишаючи в ньому лише дозволені HTML теги та додає екранні слеші.
Теж що wp_kses_post() , тільки чекає на екрановані дані.
Функція видаляє слеші ( stripslashes() ) з переданого тексту, обробляє його, а потім додає слеші назад. Тому якщо ви очищаєте $_POST дані, то робити це треба до того, як слеші в тексті будуть видалені, перед додаванням даних до БД.
Допустимі теги різняться залежно від того які у користувача права.
Використовує глобальну змінну: $allowedposttags
.
Працює на основі:
wp_kses()
wp_kses()
Хуків немає.
Повертає
Строку
.
Використання
<?php wp_filter_post_kses( $data ) ?>
-
$data
(рядок) (обов’язковий) - Контент посту, який потрібно відфільтрувати.
Приклади
#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 filter post kses WP 6.0.2
function wp_filter_post_kses( $data ) { return addslashes( wp_kses( stripslashes( $data ), 'post' ) ); }