add_meta( int $post_ID )
Ajoute des méta-données définies dans la superglobal $_POST pour l'id d'un poste donné.
Cette fonction existe seulement en admin.
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
Sources
Codex Wordpress : add_meta()
Autres fonctions dans le même fichier : wp-admin/includes/post.php