Paramètres

$meta_key(string)requis

Clé de la méta-donnée.

$meta_value(mixed)requis

Valeur de la méta-donnée à nettoyer.

$object_type(string)requis

Type d'objet de la méta-donnée. Accepte 'post', 'comment', 'term', 'user' ou tout autre type d'objet associé à une table de méta-donnée.

$object_subtype(string)optionnel

Sous-type de $object_type.

Valeur par défaut : ''

Description / Informations supplémentaires

Cette fonction applique des filtres qui peuvent être attachés pour exécuter des procédures spécifiques de nettoyage pour un type de méta-donnée ou une clé particulière. Le filtre attaché est de la forme 'sanitize_{$meta_type}_meta_{$meta_key}'.

Cette fonction est appelée par add_metadata() et update_metadata().

Retourne

(mixed) $meta_value nettoyée.

Déclaration et structure de la fonction sanitize_meta()

function sanitize_meta( $meta_key, $meta_value, $object_type, $object_subtype = '' ) {
    if ( ! empty( $object_subtype ) && has_filter( "sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}" ) ) {

        /**
         * Filters the sanitization of a specific meta key of a specific meta type and subtype.
         *
         * The dynamic portions of the hook name, `$object_type`, `$meta_key`,
         * and `$object_subtype`, refer to the metadata object type (comment, post, term, or user),
         * the meta key value, and the object subtype respectively.
         *
         * @since 4.9.8
         *
         * @param mixed  $meta_value     Metadata value to sanitize.
         * @param string $meta_key       Metadata key.
         * @param string $object_type    Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
         *                               or any other object type with an associated meta table.
         * @param string $object_subtype Object subtype.
         */
        return apply_filters( "sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}", $meta_value, $meta_key, $object_type, $object_subtype );
    }

    /**
     * Filters the sanitization of a specific meta key of a specific meta type.
     *
     * The dynamic portions of the hook name, `$meta_type`, and `$meta_key`,
     * refer to the metadata object type (comment, post, term, or user) and the meta
     * key value, respectively.
     *
     * @since 3.3.0
     *
     * @param mixed  $meta_value  Metadata value to sanitize.
     * @param string $meta_key    Metadata key.
     * @param string $object_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( "sanitize_{$object_type}_meta_{$meta_key}", $meta_value, $meta_key, $object_type );
}
has_filter()

Vérifie si un filtre a été enregistré pour un hook.

apply_filters()

Appel les fonctions qui ont été attaché à un filtre (hook).

sanitize_object_type_meta_meta_key_for_object_subtype

Filtre le nettoyage d'une clé de méta-donnée spécifique d'un type d'objet et d'un sous-type spécifique.

sanitize_object_type_meta_meta_key

Filtre le nettoyage d'une clé de méta-donnée spécifique d'un type d'objet spécifique.

Où est utilisée la fonction sanitize_meta() dans le CMS WordPress

Exemple

$clean_value = sanitize_meta( 'birth-year', $user_input, 'user' );
 
function wpdocs_sanitize_birth_year_meta( $year ) {
 
    $now  = date( 'Y' );
    $then = $now - 115; // Pas d'utilisateurs plus âgés que 115.
 
    if ( $then > $year || $year > $now ) {
        wp_die('Entrée invalide, retourner et recommencer.');
    }
    return $year;
}
add_filter( 'sanitize_user_meta_birth-year', 'wpdocs_sanitize_birth_year_meta' );

Sources

Codex WordPress : sanitize_meta()

Autres fonctions dans le même fichier : wp-includes/meta.php

Retour