taxonomy_meta_box_sanitize_cb_input() WordPress Function
The taxonomy_meta_box_sanitize_cb_input() function is a callback function that is used when sanitizing input from a custom taxonomy meta box. This function ensures that the input is a valid taxonomy term before saving it.
taxonomy_meta_box_sanitize_cb_input( string $taxonomy, array|string $terms ) #
Sanitizes POST values from an input taxonomy metabox.
Parameters
- $taxonomy
(string)(Required)The taxonomy name.
- $terms
(array|string)(Required)Raw term data from the 'tax_input' field.
Return
(array)
Source
File: wp-admin/includes/post.php
function taxonomy_meta_box_sanitize_cb_input( $taxonomy, $terms ) { /* * Assume that a 'tax_input' string is a comma-separated list of term names. * Some languages may use a character other than a comma as a delimiter, so we standardize on * commas before parsing the list. */ if ( ! is_array( $terms ) ) { $comma = _x( ',', 'tag delimiter' ); if ( ',' !== $comma ) { $terms = str_replace( $comma, ',', $terms ); } $terms = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) ); } $clean_terms = array(); foreach ( $terms as $term ) { // Empty terms are invalid input. if ( empty( $term ) ) { continue; } $_term = get_terms( array( 'taxonomy' => $taxonomy, 'name' => $term, 'fields' => 'ids', 'hide_empty' => false, ) ); if ( ! empty( $_term ) ) { $clean_terms[] = (int) $_term[0]; } else { // No existing term was found, so pass the string. A new term will be created. $clean_terms[] = $term; } } return $clean_terms; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.1.0 | Introduced. |