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] => Путе &#8216; шествия в &lt;strong&gt;скандинавию&lt;/strong&gt;
    [slug] => scandinavia <p>
    [term_group] => 0
    [term_taxonomy_id] => 105
    [taxonomy] => post_tag
    [description] => <p>Какое-то описание > &#187; &#8216; этой <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] => Какое-то описание &gt; \" \' этой метки
    [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] => Путе &#8216; шествия в &lt;strong&gt;скандинавию&lt;/strong&gt;
    [slug] => scandinavia &lt;p&gt;
    [term_group] => 0
    [term_taxonomy_id] => 105
    [taxonomy] => post_tag
    [description] => &lt;p&gt;Какое-то описание &gt; &#187; &#8216; этой &lt;tag&gt;метки&lt;/tag&gt;&lt;/p&gt;
    [parent] => 4
    [count] => 0
    [test_fields] => значение тестового поля
    [filter] => js
)
*/

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.