sanitize_term()
Очищает все поля элемента таксономии с помощью функции 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( $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 | Введена. |