Abilitare Gutenberg su un tipo di post personalizzato
Ho questo tipo di post personalizzato:
function create_posttype() {
register_post_type( 'companies',
array(
'labels' => array(
'name' => __( 'Aziende membri' ),
'singular_name' => __( 'Azienda' )
),
'supports' => array('title', 'editor', 'custom-fields', 'excerpt', 'thumbnail'),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'companies'),
)
);
}
add_action( 'init', 'create_posttype' );
Che mostra l'editor classico nell'area di amministrazione di WordPress. Ho provato a sostituire 'editor' con 'gutenberg' nell'array supports ma non funziona. Ho anche aggiunto questo codice alla mia funzione come suggerito qui:
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;
}
Come posso avere l'editor Gutenberg sul mio tipo di post personalizzato?
Inizia registrando un tipo personalizzato (custom post type) per Gutenberg in WordPress. Il processo è abbastanza semplice e prevede l'aggiunta del seguente snippet di codice.
/* Registra un CPT WordPress per Gutenberg */
function cw_post_type() {
register_post_type( 'portfolio',
// Opzioni del CPT WordPress - Inizio
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' );
Aggiungi la chiave 'show_in_rest' e impostala su 'true' nel tuo custom post type.
'show_in_rest' => true,
'supports' => array('editor')
Come puoi vedere, il codice sopra riportato imposta semplicemente il parametro 'show_in_rest' su 'TRUE'. Dopo questo passaggio, quando crei o modifichi un custom post type, vedrai l'editor Gutenberg visibile e abilitato.
Tutti i passaggi e le query sono discussi in dettaglio su https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/
