sanitize_meta() WP 3.1.3

Очищає значення мета даних. Сама функція нічого не робить, а приміряє фільтр "sanitize_{$meta_type}_meta_{$meta_key}", через який різні цілі дані можна очистити по-різному.

Ця функція використовується у всіх функціях при додаванні/оновленні метаданих WordPress: update_*_meta()або add_*_meta()update_post_meta(), update_term_meta(), update_user_meta(), update_comment_meta()

Повертає

Разное. Опрацьоване значення метаполя.

Використання

sanitize_meta( $meta_key, $meta_value, $meta_type );
$meta_key
(рядок) (обов’язковий)
Ключ метаполя. Використовується у назві фільтра, на основі якого проводиться очищення значення $meta_value.
$meta_value
(змішаний) (обов’язковий)
Значення, яке необхідно очистити.
$meta_type
(рядок) (обов’язковий)
Тип метаданих. Можливо:
comment,
post,
user,
term. Використовується у назві фільтра, на основі якого проводиться очищення значення $meta_value.
$object_subtype
(рядок)
Тип об’єкта якого створено метаполі. Наприклад,
post . Якщо передається порожній рядок, це означає, що метаполі зареєстровано для будь-якого об’єкта. Дивіться однойменний параметр функції
register_meta() .

Приклади

0

#1 Приклад очищення довільного мета поля, довільною функцією.

// Додаємо свою функцію очищення
add_filter( 'sanitize_user_meta_birth-year', 'sanitize_birth_year_meta' );

function sanitize_birth_year_meta( $year ) {
	$now = date('Y');
	$then = $now - 50; // Користувач не старше 50 років

	if ( $then > $year || $year > $now )
		wp_die( 'Не коректне введення, поверніться назад і спробуйте знову.' );

	return $year;
}

// Очищаємо значення через додану функцію, десь в іншому файлі...
$clean_value = sanitize_meta( 'birth-year', $user_input, 'user' );

список змін

З версії 3.1.3Введено.
З версії 4.9.8$object_subtype parameter був added.

Код sanitize_meta() WP 6.0.2

function sanitize_meta( $meta_key, $meta_value, $object_type, $object_subtype = '' ) {
	if ( ! empty( $object_subtype ) && has_filter( "sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}" ) ) {

		/**
		 * Filters sanitization of specific meta key of specific meta type і subtype.
		 *
		 * The dynamic portions of hook name, `$object_type`, `$meta_key`,
		 * and `$object_subtype`, refer to metadata object type (comment, post, term, or user),
		 * the meta key value, and the object subtype respectively.
		 *
		 * @ Since 4.9.8
		 *
		 * @param mixed $meta_value Metadata value to sanitize.
		 * @param string $meta_key Metadata key.
		 * @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
		 * або будь-який інший object type with an associated meta table.
		 * @param string $object_subtype Object subtype.
		 */
		return apply_filters( "sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}", $meta_value, $meta_key, $object_type, $object_subtype );
	}

	/**
	 * Filters sanitization of specific meta key of specific meta type.
	 *
	 * The dynamic portions of hook name, `$meta_type`, and `$meta_key`,
	 * refer to metadata object type (comment, post, term, or user) and the meta
	 * key value, respectively.
	 *
	 * @ Since 3.3.0
	 *
	 * @param mixed $meta_value Metadata value to sanitize.
	 * @param string $meta_key Metadata key.
	 * @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
	 * або будь-який інший object type with an associated meta table.
	 */
	return apply_filters( "sanitize_{$object_type}_meta_{$meta_key}", $meta_value, $meta_key, $object_type );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *