Validate::sanitize_tags_field( null|array $value = null, array $args = array() )
Description #
Sanitize tags field.
Sanitize keys and values. Exclude new tags if not allowed. Only include numbers of max tags allowed in field option.
Parameters #
- $valuenull | array (Optional) Arrays of tags to sanitize. Default value: null
- $argsarray (Optional) Tags JavaScript options. Default value: array()
Source #
File: lib/class-validate.php
public static function sanitize_tags_field( $value = null, $args = array() ) { if ( ! empty( $value ) ) { $i = 0; $sanitized = array(); $existing_tags = array(); $args['value_field'] = empty( $args['value_field'] ) || 'name' === $args['value_field'] ? 'name' : 'id'; foreach ( (array) $value as $tag ) { if ( is_numeric( $tag ) ) { $existing_tags[] = $tag; } elseif ( false !== $args['js_options']['create'] ) { $sanitized[] = sanitize_text_field( $tag ); } } $taxo = ! empty( $args['terms_args']['taxonomy'] ) ? $args['terms_args']['taxonomy'] : 'question_tag'; if ( ! empty( $existing_tags ) ) { $terms = get_terms( array( 'taxonomy' => $taxo, 'include' => $existing_tags, 'fields' => 'id=>name', 'hide_empty' => false, ) ); // If allowed add new tags as well. if ( $terms ) { foreach ( $terms as $id => $tname ) { $sanitized[] = 'name' === $args['value_field'] ? $tname : $id; } } } return $sanitized; } }
Expand full source code Collapse full source code View on GitHub: lib/class-validate.php:270
Add your comment