Le blog.

Créer des types de contenu, taxonomies et metaboxes dans WordPress.

Dans cette première vidéo-tutoriel WordPress, j’explique comment utiliser la librairie Cuztom Helper afin d’étendre les fonctionnalités de base WordPress. Nous aborderons plusieurs concepts, comme la création de nouveaux types de contenu, comment leur assigner des nouvelles taxonomies, mettre en place des metaboxes et y insérer des nouveaux champs.

Cette vidéo est la première de la série WordPress Cuztom, série de tutoriels qui expliquera l’utilisation de cette librairie fort pratique afin de transformer une simple installation WordPress blog en un CMS avancé. La finalité de cette série est de créer un système de bibliothèque personnelle pour stocker et afficher sur votre site WordPress une liste de livres et d’auteurs.


Sous les apparences simplistes de WordPress se cache un moteur puissant vous permettant, avec quelques outils et un peu de développement, d’obtenir un système de gestion de contenu avancé bien plus poussé qu’un simple blog.

Ajouter un nouveau type de contenu


$book = register_cuztom_post_type(
  'Livre',
  array(
    'menu_icon' => get_template_directory_uri() . '/img/book.png'
  )
);

La fonction register_cuztom_post_type() permet d’ajouter très rapidement un nouveau type de contenu dans WordPress. Vous pouvez passer en deuxième paramètre une array d’arguments, la liste complète étant disponible ici. Par exemple, vous pouvez définir la position du nouveau type de contenu dans le menu d’administration avec menu_position, ou encore activer certaines spécificités des types de contenu (attributs, commentaires…) avec supports.

Ajouter une taxonomie

$book->add_taxonomy('Genre');

register_cuztom_post_type instancie une classe à la variable utilisée. Une méthode add_taxonomy permet d’ajouter de nouvelles taxonomies au type de contenu fraîchement créé. Tout comme la fonction register_cuztom_post_type, cette fonction accepte une longue liste d’arguments disponible ici. Par exemple, il est possible de définir si une taxonomie doit posséder une logique de hierarchie (un terme de taxonomie peut être enfant ou parent d’autres termes) avec l’argument hierarchical => true.

Notez qu’une autre syntaxe est possible afin de définir des taxonomies sur les types de contenu par défaut de WordPress (article, page). Par exemple, $taxonomy = register_cuztom_taxonomy(‘Difficulty’, ‘post’)) ajoutera une taxonomie « Difficulty » aux articles (posts) de WordPress.

Ajouter des metaboxes (« boîtes de champs ») et des champs

$book->add_meta_box(
  'book_info',
  'Information sur ce livre',
  array(
    array(
      'name' => 'publication_date',
      'label' => 'Date de publication',
      'type' => 'date',
      'description' => 'Description qui va sous le titre',
      'explanation' => 'Explication qui va sous le champs',
    ),
    array(
      'name' => 'cover',
      'label' => 'Couverture du livre',
      'type' => 'image',
      'description' => 'Envoyez une image de couverture du livre'
    ),
    array(
      'type' => 'post_select',
      'name' => 'author',
      'label' => 'Auteur du livre',
      'args' => array(
        'post_type' => 'author',
        'posts_per_page' => -1
      )
    )
  )
);

Le premier paramètre est l’ID (identifiant) de la metabox qui nous sera utile lorsque l’on voudra récupérer les données des champs de cette metabox. S’ensuit le titre de la boîte et une array contenant une liste de champs.

La liste des types et l’usage des champs est disponible ici. Texte court, texte long, date, date et heure, image, relation avec d’autres contenus, éditeur WYSIWYG sont autant de champs existants dans la librairie Cuztom.

Et si je veux ajouter des metaboxes et des champs à un type de contenu basique de WordPress (page, post)?
$box = add_cuztom_meta_box(
  'meta_box_id',
  'Book Info',
  'post',
  array(
    'name' => 'author',
    'label' => 'Author',
    'description' => 'Just a little description',
    'type' => 'text'
  )
);

Tout simplement! L’utilisation est la même qu’avec add_meta_box, à une différence près: notez le 3ème paramètre faisant référence au type de contenu auquel ajouter la metabox et les champs. Dans l’exemple ci-dessus, une metabox Book Info a été ajoutée aux types de contenu « Articles ».

Nous avons donc abordé les 3 fonctionnalités basiques, mais puissantes, de la librairie Cuztom afin de créer des nouveaux types de contenu et leur assigner des nouveaux champs. Dans le prochain épisode de cette série de tutoriels, nous verrons comment profiter des données stockées et les afficher proprement dans notre thème.

A très vite!

7 commentaires ont été rédigés, ajoutez le votre.

  1. aragala Répondre

    Merci, tutoriel on ne peut plus claire!!!!
    Une question: Comment installer la librairie une question?

  2. madeinbaiona Répondre

    Bonjour,

    Merci pour tous ces excellents tutos !

    Pouvez vous me donner une piste pour basculer le calendrier « Date picker » en francais, ainsi que pour traduire les submits.

    Jérémy

  3. Rétrolien: 7 astuces pour un développement Gravity Forms sur-mesure

  4. Rétrolien: Intercepter les données des formulaires Contact Form 7 dans WordPress

Laisser un commentaire