Mon code de CPT pour mon WordPress
Un CPT est une entité de contenu personnalisée que vous pouvez définir pour répondre à des besoins spécifiques. Par exemple :
Les CPT sont stockés dans la base de données WordPress (table wp_posts) avec un identifiant unique (post_type). Ils permettent d'organiser le contenu de manière plus structurée et adaptée à votre projet.
Les CPT sont utiles pour :
Il existe deux façons de créer un CPT dans WP: manuellement (via le code) ou via un plugin.
Les CPT sont généralement enregistrés dans le fichier functions.php du thème utilisé. La fonction principale utilisée est register_post_type()
Exemple:
function register_livre_post_type() {
$labels = array(
'name' => __('Livres', 'textdomain'),
'singular_name' => __('Livre', 'textdomain'),
'menu_name' => __('Livres', 'textdomain'),
'add_new' => __('Ajouter un livre', 'textdomain'),
'add_new_item' => __('Ajouter un nouveau livre', 'textdomain'),
'edit_item' => __('Modifier le livre', 'textdomain'),
'new_item' => __('Nouveau livre', 'textdomain'),
'view_item' => __('Voir le livre', 'textdomain'),
'search_items' => __('Rechercher des livres', 'textdomain'),
'not_found' => __('Aucun livre trouvé', 'textdomain'),
);
$args = array(
'labels' => $labels,
'public' => true, // Accessible publiquement
'has_archive' => true, // Archive disponible (ex. : domaine.com/livres/)
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'), // Fonctionnalités activées
'show_in_menu' => true, // Visible dans le menu d’administration
'menu_position' => 5, // Position dans le menu
'menu_icon' => 'dashicons-book', // Icône du menu
'rewrite' => array('slug' => 'livres'), // URL personnalisée
'taxonomies' => array('category', 'post_tag'), // Taxonomies associées
);
register_post_type('livre', $args);
}
add_action('init', 'register_livre_post_type');