is_protected_meta

The timeline below displays how wordpress function is_protected_meta has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty string.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .10

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.5

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $protected = '_' === $meta_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 4.3

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 4.2

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .10

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.4

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key  Metadata key.
 * @param string $meta_type Optional. Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 *                          or any other object type with an associated meta table. Default empty.
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a 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',
     *                          or any other object type with an associated meta table.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 3.5

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 3.2

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .10

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.3

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 2.8

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 2.3

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .20

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 2.2

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .10

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.2

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 1.7

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 1.2

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .10

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.1

/**
 * Determines whether a meta key is considered protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key.
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post, term, or user).
 * @return bool Whether the meta key is considered protected.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is considered protected.
     *
     * @since 3.2.0
     *
     * @param bool        $protected Whether the key is considered protected.
     * @param string      $meta_key  Meta key.
     * @param string|null $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 0.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .20

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 0.2

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .11

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 9.9

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 9.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .20

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 9.2

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .16

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .10

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key  Meta key
 * @param string|null $meta_type Optional. Type of object metadata is for (e.g., comment, post,
 *                               term, or user).
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Type of object metadata is for (e.g., comment, post, term, or user).
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 6.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .20

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 4.6

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filters whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.4

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .30

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 5.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .23

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 4.4

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .30

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 4.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .24

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 3.4

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .30

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 3.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .25

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 2.4

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .30

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 2.3

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .29

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 1.5

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .40

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 1.4

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .32

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 4.1

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string      $meta_key Meta key
 * @param string|null $meta_type
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 0.4

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .32

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 3.9

/**
 * Determine whether a meta key is protected.
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    /**
     * Filter whether a meta key is protected.
     *
     * @since 3.2.0
     *
     * @param bool   $protected Whether the key is protected. Default false.
     * @param string $meta_key  Meta key.
     * @param string $meta_type Meta type.
     */
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 8.4

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .35

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 7.5

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .40

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 7.4

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: .35

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = '')
{
    $sanitized_key = preg_replace("/[^ -~\\p{L}]/", '', $meta_key);
    $protected = strlen($sanitized_key) > 0 && '_' === $sanitized_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}

WordPress Version: 3.7

/**
 * Determine whether a meta key is protected
 *
 * @since 3.1.3
 *
 * @param string $meta_key Meta key
 * @return bool True if the key is protected, false otherwise.
 */
function is_protected_meta($meta_key, $meta_type = null)
{
    $protected = '_' == $meta_key[0];
    return apply_filters('is_protected_meta', $protected, $meta_key, $meta_type);
}