Formation « Créer des blocs avec Gutenberg »

Activer Gutenberg dans un Custom Post Type

Lecture : 1 minutes • 2

Gutenberg est disponible pour les articles, pages mais aussi tout type de publication (custom post type) que vous auriez pu créer. Mais pour le voir apparaitre il ne faut pas oublier quelques petits réglages.

Dans la déclaration de votre Custom Post Type, il y a deux paramètres à ne pas oublier pour que Gutenberg s’affiche correctement :

  • show_in_rest doit être à true (ce paramètre gère initialement l’API Rest)
  • dans supports il ne faut pas oublier de lister editor

Avec ça vous devriez voir apparaitre Gutenberg dans vos custom post types.

PHP
functions.php
<?php 

function create_post_types() {
  
  $labels = array(
    'name' => 'Cours',
  );

  $args = array(
    'labels' => $labels,
    'public' => true,
    'has_archive' => true,
    'show_in_rest' => true, // Important !
    'supports' => array('title', 'thumbnail', 'editor'), // Ne pas oublier editor
    'menu_position' => 5,
    'menu_icon' => 'dashicons-awards',
  );

  register_post_type( 'cours', $args );

}
add_action('init', 'create_post_types' );

Pour déclarer un Type de publication dans WordPress, référez-vous à l’outil GenerateWP.


Sans cette technique, c’est l’éditeur classique qui s’affichera dans votre type de publication au lieu de Gutenberg.

2

Questions, réponses et commentaires

  1. Boris Paing

    Le 25 octobre 2018

    Merci l’ami ; grâce à toi j’ai pu activer Gutenberg sur LearnPress, en modifiant les fonctions (« méthodes » devrais-je dire) register() dans les fichiers qui m’intéressaient dans /wp-content/plugins/learnpress/inc/custom-post-types

    1. Maxime BJ

      Le 29 octobre 2018

      Super !

      Par contre le mieux c’est de ne pas modifier le code du plugin directement, au risque de perdre les modifications lors d’une prochaine mise à jour. Tu peux cependant dans ton propre code modifier un CPT existant de cette manière : https://developer.wordpress.org/reference/hooks/register_post_type_args/

Laisser un commentaire