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!!!