Очищает все поля элемента таксономии в полученном объекте/массиве, игнорируя все «левые» поля в нём.
Под полями подразумеваются свойства объекта WP_Term.
Вот его свойства («не левые» поля).
term_id name description slug count parent term_group term_taxonomy_id object_id
По факту, всё, что делает функция, это проходит циклом по всем этим ключам внутри массива/объекта и очищает каждый из них функцией sanitize_term_field().
И возвращает получившийся в итоге объект (или массив).
sanitize_term( $term, $taxonomy, $context = 'display' )
Параметры
- $term
- (массив|объект) Объект очищаемого термина
WP_Term
или ассоциативный массив с ключами как свойства объектаWP_Term
. - $taxonomy
- Можем передать название таксономии для фильтров.
- $context
- (строка) Контекст очистки, подробнее тут.
Примеры
В этих примерах решил показать вам результат действия функции с разными контекстами (значениями параметра $context
).
// Исходный массив $term = array( 'term_id' => 105, 'name' => 'Путе ' шествия в <strong>скандинавию</strong>', 'slug' => 'scandinavia <p>', 'term_group' => 0, 'term_taxonomy_id' => 105, 'taxonomy' => 'post_tag', 'description' => 'Какое-то описание > " ' этой <tag>метки</tag>', 'parent' => 4, 'count' => 'не число', 'test_fields' => 'значение тестового поля' ); $term1 = sanitize_term( $term, 'post_tag' ); print_r( $term1 ); /* Array ( [term_id] => 105 [name] => Путе ‘ шествия в <strong>скандинавию</strong> [slug] => scandinavia <p> [term_group] => 0 [term_taxonomy_id] => 105 [taxonomy] => post_tag [description] => <p>Какое-то описание > » ‘ этой <tag>метки</tag></p> [parent] => 4 [count] => 0 [test_fields] => значение тестового поля [filter] => display ) */ $term2 = sanitize_term( $term, 'post_tag', 'db' ); print_r( $term2 ); /* Array ( [term_id] => 105 [name] => Путе ' шествия в скандинавию [slug] => scandinavia [term_group] => 0 [term_taxonomy_id] => 105 [taxonomy] => post_tag [description] => Какое-то описание > " ' этой метки [parent] => 4 [count] => 0 [test_fields] => значение тестового поля [filter] => db ) */ $term3 = sanitize_term( $term, 'post_tag', 'raw' ); print_r( $term3 ); /* Array ( [term_id] => 105 [name] => Путе ' шествия в <strong>скандинавию</strong> [slug] => scandinavia <p> [term_group] => 0 [term_taxonomy_id] => 105 [taxonomy] => post_tag [description] => Какое-то описание > " ' этой <tag>метки</tag> [parent] => 4 [count] => 0 [test_fields] => значение тестового поля [filter] => raw ) */ $term4 = sanitize_term( $term, 'post_tag', 'js' ); print_r( $term4 ); /* Array ( [term_id] => 105 [name] => Путе ‘ шествия в <strong>скандинавию</strong> [slug] => scandinavia <p> [term_group] => 0 [term_taxonomy_id] => 105 [taxonomy] => post_tag [description] => <p>Какое-то описание > » ‘ этой <tag>метки</tag></p> [parent] => 4 [count] => 0 [test_fields] => значение тестового поля [filter] => js ) */
Источник: Блог Миши Рудрастых