sanitize_term() WP 2.3.0
Очищает все поля элемента таксономии с помощью функции sanitize_term_field()
.
Принимает массив или объект данных элемента таксономии обрабатывает каждое значение с помощью sanitize_term_field()
и возвращает переданный массив.
Также в возвращаемый массив/объект добавляется ключ 'filter' = $context в значении которого указан контекст в котором были очищены все поля. Нужно это для оптимизации, чтобы не очищать поля повторно. Т.е. если 'filter' указан и он совпадает с переданным контекстом, то функция просто вернет переданный объект.
Также функция удалит недопустимые поля из переданного объекта. Возвращаются только эти поля:
term_id name description slug count parent term_group term_taxonomy_id object_id
sanitize_term_field()
Хуков нет.
Возвращает
Массив/объект со всеми очищенными полями.
Использование
sanitize_term( $term, $taxonomy, $context );
- $term(массив/объект) (обязательный)
- Объект элемента таксономии, все поля которого нужно очистить.
- $taxonomy(строка) (обязательный)
- Название таксономии.
- $context(строка)
Контекст в котором нужно очищать все поля. См. описание sanitize_term_field(). Может быть:
- display - для вывода на экран
- raw - просто вернет значение
- edit - фильтр
esc_html()
если это поле description, и фильтрesc_attr()
если другое поле. - db
- slug
- rss
- attribute - фильтр esc_attr()
- js - фильтр esc_js()
По умолчанию: 'display'
Примеры
#1 Демонстрация очистки полей элемента таксономии
// Исходный массив $term = array( 'term_id' => '3', 'name' => 'Word \' press <tag>foo</tag>', 'slug' => 'word press <tag>', 'term_group' => 0, 'term_taxonomy_id' => 3, 'taxonomy' => 'category', 'description' => 'Описание > " \' press <tag>foo</tag>', 'parent' => 0, 'count' => 0, ); $term = sanitize_term( $term, 'category' ); /* Array ( [term_id] => 3 [name] => Word ‘ press <tag>foo</tag> [slug] => word press <tag> [term_group] => 0 [term_taxonomy_id] => 3 [taxonomy] => category [description] => <p>Описание > » ‘ press <tag>foo</tag></p> [parent] => 0 [count] => 0 [filter] => display ) */ $term = sanitize_term( $term, 'category', 'db' ); /* Array ( [term_id] => 3 [name] => Word \' press foo [slug] => word-press-tag [term_group] => 0 [term_taxonomy_id] => 3 [taxonomy] => category [description] => Описание > \" \' press foo [parent] => 0 [count] => 0 [filter] => db ) */ $term = sanitize_term( $term, 'category', 'raw' ); /* Array ( [term_id] => 3 [name] => Word ' press <tag>foo</tag> [slug] => word press <tag> [term_group] => 0 [term_taxonomy_id] => 3 [taxonomy] => category [description] => Описание > " ' press <tag>foo</tag> [parent] => 0 [count] => 0 [filter] => raw ) */ $term = sanitize_term( $term, 'category', 'js' ); /* Array ( [term_id] => 3 [name] => Word ‘ press <tag>foo</tag> [slug] => word press <tag> [term_group] => 0 [term_taxonomy_id] => 3 [taxonomy] => category [description] => <p>Описание > » ‘ press <tag>foo</tag></p> [parent] => 0 [count] => 0 [filter] => js ) */
Список изменений
С версии 2.3.0 | Введена. |
Код sanitize term:
wp-includes/taxonomy.php
WP 5.3
Cвязанные функции
Из метки: sanitize_ (очистка)
- sanitize_email()
- sanitize_file_name()
- sanitize_html_class()
- sanitize_key()
- sanitize_meta()
- sanitize_mime_type()
- sanitize_option()
Еще из раздела: Любые таксономии
- edit_term_link()
- get_edit_term_link()
- get_taxonomies()
- get_taxonomy()
- get_term()
- get_term_by()
- get_term_children()
- get_term_field()
- get_term_link()