web-dev-qa-db-fra.com

Activer Gutenberg sur le type de message personnalisé

J'ai ce type de message personnalisé:

function create_posttype() {
  register_post_type( 'companies',
    array(
      'labels' => array(
        'name' => __( 'شرکتهای عضو' ),
        'singular_name' => __( 'شرکت' )
      ),
      'supports' => array('title', 'editor', 'custom-fields', 'excerpt', 'thumbnail'),
      'public' => true,
      'has_archive' => true,
      'rewrite' => array('slug' => 'companies'),
    )
  );
}
add_action( 'init', 'create_posttype' );

Ce qui montre l'éditeur classique dans la zone d'administration de WordPress. J'ai essayé de remplacer 'editor' par 'gutenberg' dans le tableau des supports qui ne fonctionne pas. J'ai aussi ajouté ce code à ma fonction comme suggéré ici :

add_filter('gutenberg_can_edit_post_type', 'prefix_disable_gutenberg');
function prefix_disable_gutenberg($current_status, $post_type)
{
    if ($post_type === 'companies') return true;
    return $current_status;
}

Comment puis-je avoir un éditeur Gutenberg sur mon type de message personnalisé?

10
ehsan

Pour que Gutenberg fonctionne dans un type de message personnalisé, vous devez activer à la fois la variable editor dans supports (que vous avez déjà) et show_in_rest. Donc, ajoutez 'show_in_rest' => true, à votre tableau d'arguments post-inscription.

18
Alvaro

Commencez par enregistrer un type personnalisé Gutenberg WordPress. Le processus est assez simple et implique l'ajout de l'extrait de code suivant.

/*Register WordPress  Gutenberg CPT */
function cw_post_type() {

    register_post_type( 'portfolio',
        // WordPress CPT Options Start
        array(
            'labels' => array(
                'name' => __( 'Portfolio' ),
                'singular_name' => __( 'Portfolio' )
            ),
            'has_archive' => true,
            'public' => true,
            'rewrite' => array('slug' => 'portfolio'),
            'show_in_rest' => true,
            'supports' => array('editor')
        )
    );
}

add_action( 'init', 'cw_post_type' );

ajoutez la clé show_in_rest et définissez-la sur true via votre type de publication personnalisé.

'show_in_rest' => true,
   'supports' => array('editor')

Comme vous pouvez le constater, le code ci-dessus définit simplement le paramètre ‘show_in_rest’ sur ‘TRUE’. Après cette étape, lorsque vous créez ou modifiez un type de publication personnalisé, l'éditeur Gutenberg apparaît et est activé.

Toutes les étapes et la requête sont détaillées dans https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/

1
Owais Alam