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 'blog', '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 1330
return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );