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

 

 

Migrer un site WordPress

Il peut être utile de savoir migrer son site, rien que pour le mettre en ligne à la suite d'une période de développement. Pour ce faire:

Mise en place

1/ Placer le dossier qui contient le site wordpress à la racine de votre hébergement.

2/ Si besoin creer une nouvelle base de données, sinon recuperer le nom de la base de données fourni par votre hébergeur.

Parametrage

3/ modifier le fichier wp-config.php.

modifier les constantes :

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

4/ importer le dump de la BDD

5/ Modifier la table wp_option.

6/ Modifier dans la table wp_post les colonnes:

  • guid
  • post_content

Utiliser ces requettes SQL pour vous simplifier la vie.

UPDATE wp_posts
SET guid=REPLACE(guid,'http://localhost/ancienne_adresse/wordpress431_1','http://nouvelle_adresse/');


UPDATE wp_posts
SET post_content=
REPLACE(post_content,'http://localhost/ancienne_adresse/wordpress431_1/','http://nouvelle_adresse/');

Normalement ça fonctionne.

Dépannage

En cas de probleme de lien il peut être nécessaire de rafraichir les permaliens.

Allez dans le backoffice/reglages/permaliens.

Passer en mode par defaut, appliquez puis repassez dans le mode qui va bien, dans mon cas c'était nom d'article.

Voili voilou.