taxonomy_meta_box_sanitize_cb_input

函数


taxonomy_meta_box_sanitize_cb_input ( $taxonomy, $terms )
参数
  • (string)
    $taxonomy
    The taxonomy name.
    Required:
  • (array|string)
    $terms
    Raw term data from the ‘tax_input’ field.
    Required:
返回值
  • (array)
定义位置
  • wp-admin/includes/post.php
    , line 2119
引入
5.1.0
弃用

从输入分类metabox中清理POST值。

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, " ntrx0B," ) );
	}

	$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;
}