is_protected_meta
Позволяет добавить названия (ключи) метаполей, которые нужно считать защищенными/скрытыми.
По умолчанию защищенными считаются метаполя, ключи которых начинаются с нижнего подчеркивания _
.
Читайте подробнее про скрытые метаполя
Использование
add_filter( 'is_protected_meta', 'wp_kama_is_protected_meta_filter', 10, 3 ); /** * Function for `is_protected_meta` filter-hook. * * @param bool $protected Whether the key is considered protected. * @param string $meta_key Metadata key. * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table. * * @return bool */ function wp_kama_is_protected_meta_filter( $protected, $meta_key, $meta_type ){ // filter... return $protected; }
- $protected(true/false)
- Считается ли текущий ключ (параметр $meta_key) защищенным.
- $meta_key(строка)
- Текущий обрабатываемый мета ключ.
- $meta_type(строка/null)
- Тип объекта метаполе которого обрабатывается. Может быть: comment, post, term, user.
Примеры
#1 Сделаем нужные нам метаполя защищенными
Скроем метаполя из выпадающего списка метаполей при редактировании записи:
// Скроем метаполя для постов в момент редактирования add_filter( 'is_protected_meta', 'my_protected_custom_fields', 10, 2 ); function my_protected_custom_fields( $protected, $meta_key ){ // сюда через запятую - список скрываемых полей $hide_meta_keys = array( 'post_desc', 'publisher_id' ); if( in_array( $meta_key, $hide_meta_keys ) ){ return true; } return $protected; }
Список изменений
С версии 3.2.0 | Введена. |
Где вызывается хук
is_protected_meta
wp-includes/meta.php 1299
return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );