Les Custom Post Types de WordPress

Après installation de votre site WordPress, vous vous retrouvez avec les contenus par défaut de wordpress : les articles, les pages et les médias. bien que ceci soit suffisant, il peut-être nécessaire d’avoir des contenus personnalisés et individuelles afin qu’ils ne se mélangent pas avec les article sou les pages. C’est la qu’interviennent les Costum Post Types de WordPress.

Des contenus à votre demande

Nous allons voir ensemble comment créer ces fameux Costum Post Types via quelques lignes de codes ajoutés dans votre fichier functions.php, Pour l’exemple, nous avons comme objectif de créer un annuaire de créateurs.

commencer par ajouter le code suivant dans votre fichier functions.php :

//custom post types : Agenda des créateurs
add_theme_support( 'post-thumbnails' );  //active les Post thumbnails (images à la une)
add_action('init', 'my_custom_init');
function my_custom_init()
{
register_post_type('createur', array(	
  'label' => __('Annuaire des créateurs'),		
  'singular_label' => __('Créateur'),
  'public' => true,
  'show_ui' => true,
  'capability_type' => 'post',
  'hierarchical' => false,
  'supports' => array('title', 'editor', 'thumbnail')
));
register_taxonomy( 'domaine', 'createur', array( 'hierarchical' => true, 'label' => 'Domaines', 'query_var' => true, 'rewrite' => true ) );  
}

Vous obtiendrez alors un nouveau contenu dans votre tableau d’administration :

2014-07-20-14-12-53_Modifier-l’article-‹-Contextart-—-WordPress-1024x534

 

Quelques explications sur le code précédent :

La fonction register_post_type enregistre un nouvel élément.

Elle possède beaucoup de paramètres, dont les plus importants sont expliqués ici :

createur’ correspond au nom du nouvel élément.
label’ est le nom qu’on retrouvera dans la colonne de gauche de l’admin. Il est préférable de le mettre au pluriel.
singular_label’ est l’équivalent du nom au singulier.
public’ définit si les posts seront publics ou non.
show_ui’ définit si ce nouvel élément apparaît dans l’admin.
capability_type’ définit si le nouvel élément est identique à un Post classique ou à une Page classique. En général, les Posts sont beaucoup plus intéressants car ils ont davantage de fonctions que les Pages (catégories, mots-clefs …).
hierarchical’ définit si il peut y avoir une hiérarchie (comme pour les Pages). Ici, c’est non car chaque élément est au même niveau.

supports’ est un array qui définit quels éléments d’un Post normal on veut avoir. Ici je veux juste un titre, un texte long (l’éditeur) et une miniature. Il existe néanmoins d’autres éléments que vous pouvez cumuler pour avoir un contenu personnalisé :
title
editor’ (la fenêtre principale de contenu)
author
thumbnail
excerpt
trackbacks
custom-fields
comments
revisions’ (la sauvegarde automatique de versions passées)
page-attributes’ (choix de template pour les pages et gestion de la hiérarchie)

Sachez qu’il existe un générateur de Costum Post Types sur ce site, il vous permettra de générer automatiquement le code souhaité pour disposer de votre contenu personnalisé, toutefois une lecture de cet article ainsi que d’autres ressources sera nécessaire pour la compréhension du sujet.

Pensez à réenregistrer vos permaliens dans le cas ou votre contenus vous renvoi une page 404.