Ajouter des champs personnalisés dans un article WordPress

Pour ajouter des champs spécifiques dans un article WordPress, il faut d'abord ajouter à votre theme le fichier functions.php s'il n'est pas existant. Dedans il faut rajouter un hooks:

 

// nom du hook : "wp_insert_post"

// nom de la fonction à appeler : " champs_defaut"

add_action("wp_insert_post", "champs_defaut");

// prend en parametre l'identifiant du post

 function champs_defaut($post_id){
        if(get_post_type($post_id)=='post'){
            add_post_meta( $post_id, 'prix', '', true );      // ajout du champ 'prix', true => unique
            add_post_meta( $post_id, 'editeur', '', true );
            add_post_meta( $post_id, 'auteur', '', true );
            add_post_meta( $post_id, 'reserve', '', true );
        }
    return true;
    }   

Maintenant dans la page d'ajout d'article 4 champs sont apparut dans le backoffice. Les champs n'apparaissent pas dans les articles existants, il y a juste à clique sur le boutons "mettre à jour".

 

Pour les afficher dans la page single.php,  il reste à ajouter ce code:

 

// get_post_meta retourne la valeur du champs désigné dans les parametres,

// le booleen permet de définir si le retour est sous forme de tableau ou d'un string tout seul

$auteurs = get_post_meta(get_the_id(), 'auteur', false);
$editeur = get_post_meta(get_the_id(), 'editeur', true );
$prix = get_post_meta(get_the_id(), 'prix', true );
$reserve = get_post_meta(get_the_id(), 'reserve', true );

 

Voili voilou!!!