is_protected_meta()
Перевіряє вказаний ключ метаполя, чи він захищеним (внутрішнім).
За умовчанням у WordPress використовується така логіка: якщо назва метаполя починається з нижнього підкреслення _, наприклад _edit_time, то таке метаполе вважається захищеним – використовується для внутрішніх цілей движка. Такі захищені метаполя не виводяться в блоці метаполів під час редагування запису.
1 раз – 0.00001 сек
(швидкість світла) | 50000 разів – 0.03 сек
(швидкість світла) |
PHP 7.0.8, WP 4.6
(швидкість світла) | 50000 разів – 0.03 сек
(швидкість світла) |
PHP 7.0.8, WP 4.6
Хуки з функції
Повертає
true|false. Захищене метаполем чи ні.
Використання
if( is_protected_meta( $meta_key, $meta_type ) ){
// Захищене поле
}- $meta_key
(рядок) (обов’язковий) - Ключ метаполя, який потрібно перевірити.
- $meta_type
(рядок/null) - Типу метаполя. Можливо:
post,
user,
comment,
term.
Типово: null
Приклади
#1 Перевіримо метаполе, чи воно не є захищеним
$meta_key = '_my_metakey';
if( is_protected_meta( $meta_key, 'post' ) ){
echo 'Захищене поле';
}
список змін
| З версії 3.1.3 | Введено. |
Код is_protected_meta() is protected meta WP 6.0.2
function is_protected_meta( $meta_key, $meta_type = '' ) {
$sanitized_key = preg_replace( "/[^x20-x7Ep{L}]/", '', $meta_key );
$protected = strlen( $sanitized_key ) > 0 && ( '_' === $sanitized_key[0] );
/**
* Filters whether meta key is considered protected.
*
* @ Since 3.2.0
*
* @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',
* або будь-який інший object type with an associated meta table.
*/
return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );
}