Gestion avancée de contenu dans WordPress : 2013 update
25 décembre 2013 3 commentairesDepuis sa version 3.0, WordPress intègre deux fonctionnalités qui font de lui un système de gestion de contenu à part entière :
- les taxonomies personnalisées ou custom taxonomies (intégrées dès la version 2.9 mais il fallait alors se battre un peu pour les utiliser )
- les contenu personnalisés ou custom post types.
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.
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?
Hello,
Malheureusement le WordCamp de janvier, ce ne sera pas pour moi. Je serais en vadrouille à ce moment là.
Merci pour ce billet