is_protected_meta() WP 3.1.3

Перевіряє вказаний ключ метаполя, чи він захищеним (внутрішнім).

За умовчанням у WordPress використовується така логіка: якщо назва метаполя починається з нижнього підкреслення _, наприклад _edit_time, то таке метаполе вважається захищеним – використовується для внутрішніх цілей движка. Такі захищені метаполя не виводяться в блоці метаполів під час редагування запису.

1 раз – 0.00001 сек
(швидкість світла) | 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

Приклади

0

#1 Перевіримо метаполе, чи воно не є захищеним

$meta_key = '_my_metakey';
if( is_protected_meta( $meta_key, 'post' ) ){
	echo 'Захищене поле';
}

список змін

З версії 3.1.3Введено.

Код 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 );
}

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

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