Vous êtes sur Barbablog et tu kiffes jeune. Cherche sur ce blog...

Gestion avancée de contenu dans WordPress : 2013 update

Le billet Gestion avancé de contenu dans WordPress publié fin 2009 est l’un des plus consulté de ce blog. Problème, il date un peu : en 4 ans WordPress a beaucoup évolué. Il est désormais possible de gérer des types de contenus complexes avec les fonctions antives de WordPress.

Depuis sa version 3.0, WordPress intègre deux fonctionnalités qui font de lui un système de gestion de contenu à part entière :

Par défaut WordPress arrive avec deux types de taxonomies, les tags et les catégories, et cinq types de contenu, les article, pages, attachements, révisions et menus de navigation. Vous pouvez ajouter autant de taxonomies et de types de contenu différents que vous le souhaitez.

L’API de WordPress permet de récupérer, manipuler et afficher les différents types de contenus par date, tag associé, état de publication, bref, tout ce qu’on peut faire avec la boucle classique ou l’objet WP_Query. Ajoutons à cela les champs personnalisés  et vous avez entre les mains tous les outils nécessaires pour créer un CMS digne de ce nom.

Pour exploiter ces fonctionnalités, ajoutez ces lignes dans le fichier function.php de votre thème :
< ?php // dans le function .php add action pour lancer la fonction lors de l'événement "init" de wp add_action( 'init', 'create_post_type' ); // création d'un type de contnue "acme product" function create_post_type() { // creation du type de contenu register_post_type( 'acme_product', array( 'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'Product' )
),
'public' => true
)
);
// creation de la taxonomie associée. Cahque taxo est associé à un ou pls types de contenus
register_taxonomy( 'couleur', 'acme_product', array( 'hierarchical' => true, 'label' => 'Couleur', 'query_var' => true, 'rewrite' => true ) )
}
?>

Si vous n’aimez pas coder, pas de panique, il existe aussi des interfaces graphiques. C’est toute la philosophie de WordPress : le noyau intègre le strict minimum. Si vous vous voulez étendre les fonctionnalités de l’outil, les plugins sont faits pour ça. Pour créer et exploiter les taxonomies et contenus personnalisés à l’aide d’une interface graphique, installez le plugin Custom Post UI. Je ne m’étends pas sur l’utilisation du plugin, à vous de chercher.

Et pour les Flutter et autres dont tu parlais en 2009 ?

Dans le billet « Gestion avancée de contenu » de 2009, je mentionnais quelques autres solutions. Certaines sont encore d’actualité, d’autres, à oublier.

Flutter est  à oublier. Ce plugin n’est plus maintenu. Certains auteurs du plugin ont lancé un autre projet : Magic Fields. Comme son nom l’indique, ce plugin permet de gérer les champs personnalisés des articles, des pages ou de tout autre  type de contenu. Mais pas que !  Magic field depuis sa version 2 s’attaque aussi au custom post types.

Pods est de son côté toujours maintenu et très actif. Ce plugin ne se contente pas de poser une interface graphique sur des fonctionnalités existantes, puisque selon ses auteurs, Pods est un véritable framework. Il permet de créer des liaisons hiérarchiques entre contenus. Un contenu de type film peut se voir automatiquement associé plusieurs contenus de type acteurs, ou ce genre de choses, je sais pas trop en fait, je ne l’ai pas testé, mais je sais qu’il est costaud. Jonathan Christopher de Monday By Noon, l’un des meilleurs blogs de dev WordPress, ne jure que par lui. Ca doit pas être dégueu.

En résumé

On résume :

  • soit vous aimez coder et il y a tout ce qu’il faut dans l’API WordPress pour créer et gérer de nouveaux types de contenus ;
  • soit vous n’aimez pas coder ou comme moi vous êtes fainéant, dans ce cas utilisez ou Magic Fields seul ou  Custom Post UI conjoitenemtn avec  More Fields, un plugin qui gère les champs personnalisés ;
  • soit vous aimez coder et faire des trucs très compliqués, dans ce cas, utilisez Pods. La courbe d’apprentissage est sévère mais le plugin est très puissant. Clairement pas ma solution favorite, puisque ce plugin tord WordPress pour lui faire faire des choses pour lesquels il n’a pas été conçu. Si vous utilisez Pods, peut-être devriez-vous vous pencher sur un CMF type Drupal ou carrément un framework type CodeIgniter.

3 réponses à “Gestion avancée de contenu dans WordPress : 2013 update”

  1. Salut
    Merci pour la mise au point. A titre d’information, le grand nouveau pour la gestion des Custom Fields est ACF
    Tu viens au prochain WordCamp en janvier?

Laisser un commentaire