Paramètre

$post_ID(int)requis

Id du poste.

Description / Informations supplémentaires

Les informations utilisées viennent de la superglobal $_POST des champs personnalisés de l'écran d'édition d'un poste dans l'administration.

Retourne

(int|bool) id de la méta-donnée ajouté, false sinon.

Déclaration et structure de la fonction add_meta()

function add_meta( $post_id ) {
    $post_id = (int) $post_id;

    $metakeyselect = isset( $_POST['metakeyselect'] ) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
    $metakeyinput  = isset( $_POST['metakeyinput'] ) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : '';
    $metavalue     = isset( $_POST['metavalue'] ) ? $_POST['metavalue'] : '';
    if ( is_string( $metavalue ) ) {
        $metavalue = trim( $metavalue );
    }

    if ( ( ( '#NONE#' !== $metakeyselect ) && ! empty( $metakeyselect ) ) || ! empty( $metakeyinput ) ) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ( '#NONE#' !== $metakeyselect ) {
            $metakey = $metakeyselect;
        }

        if ( $metakeyinput ) {
            $metakey = $metakeyinput; // Default.
        }

        if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $post_id, $metakey ) ) {
            return false;
        }

        $metakey = wp_slash( $metakey );

        return add_post_meta( $post_id, $metakey, $metavalue );
    }

    return false;
}
current_user_can()

Retourne si l'utilisateur actuel a une capacité spécifiée.

wp_unslash()

Supprime les slashes d'une chaîne ou d'un tableau de chaînes.

wp_slash()

Ajoute un slash à une chaîne ou à des chaînes dans un tableau.

add_post_meta()

Ajoute un champ de méta-donné à un post donné.

is_protected_meta()

Détermine si une clé de méta-donnée est considérée comme protégée.

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

Exemple

// À moins de développer un formulaire de champs personnalisés dans un widget par exemple, 
// il y a peu de raisons d'utiliser cette fonction.

add_meta( $post_ID );

Sources

Codex WordPress : add_meta()

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

Retour