Esc wpautop
Добрый день!
Менторы вордпресс плагинов сделали замечание что не очистил строку..
This is not escaped: mi13-glossary/mi13-glossary.php:450: echo wpautop($text); wpautop() is a formatting function.
Сам код выглядит так..
$post = get_post($id); if ($post) { echo wpautop($post->post_content);
Вопрос: зачем очищать контент поста перед выводом (esc_)
Приветствую!
Вам дали такой совет, чтобы избежать, например, XSS уязвимостей.
Но при выводе контента записи в большинстве случаев не надо использовать esc_* функции - они "поломают" все html теги, не преобразуют шорткоды/эмбеды и много ещё чего. А вот пропустить через фильтр the_content крайне рекомендуется, в целом это и делает одноименная функция the_content(), которую безбоязненно используют все темы WordPress.
Читайте нашу статью Проверка и очистка данных в WordPress, чтобы узнать больше.
и
intval($_GET[$id])
им тоже не понравилось, пришлось заменить наsanitize_text_field($_GET['id'])
;У каждого свои тараканы в голове, так что...
intval вполне себе годный и надёжный, как швейцарские часы, вариант. У sanitize_text_field() есть преимущество в наличии одногоименного фильтра sanitize_text_field, а это автоматически делает ваш код более гибким и расширяемым.