Description

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

Paramètre

$post_ID

(int) (Requis) Id du poste.

Retourne

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

Structure de la fonction add_meta()

Définie dans le fichier wp-admin/includes/post.php à la ligne 912 :

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;
}

Fonctions utilisées par add_meta()

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ù trouver 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