sanitize_term()

Очищает все поля элемента таксономии в полученном объекте/массиве, игнорируя все «левые» поля в нём.

Под полями подразумеваются свойства объекта 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
)
*/

Источник: Блог Миши Рудрастых

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: