sanitize_meta()
Очищает значение мета данных. Сама функция ничего не делает, а примеряет фильтр "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, $object_type, $object_subtype );
- $meta_key(строка) (обязательный)
- Ключ метаполя. Используется в названии фильтра, на основе которого проводится очистка значения $meta_value.
- $meta_value(смешанный) (обязательный)
- Значение, которое нужно очистить.
- $object_type(строка) (обязательный)
- Тип метаданных. Может быть:
comment
,post
,user
,term
. Используется в названии фильтра, на основе которого проводится очистка значения $meta_value. - $object_subtype(строка)
- Тип объекта для которого создано метаполе. Например, post. Если передается пустая строка, то это значит что метаполе зарегистрировано для любого объекта. Смотрите одноименный параметр в функции register_meta().
Примеры
#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 | The $object_subtype parameter was added. |