Habilitar Gutenberg en un tipo de entrada personalizada
Tengo este tipo de entrada personalizada:
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' );
Que muestra el editor clásico en el área de administración de WordPress. Intenté reemplazar 'editor' con 'gutenberg' en el array de supports, lo cual no funciona. También agregué este código a mi función como se sugiere aquí:
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;
}
¿Cómo puedo tener un editor Gutenberg en mi tipo de entrada personalizada?
Comienza registrando un tipo personalizado en Gutenberg para WordPress. El proceso es bastante sencillo e implica añadir el siguiente fragmento de código.
/* Registrar CPT personalizado para Gutenberg en WordPress */
function cw_post_type() {
register_post_type( 'portfolio',
// Opciones del CPT en WordPress
array(
'labels' => array(
'name' => __( 'Portafolio' ),
'singular_name' => __( 'Portafolio' )
),
'has_archive' => true,
'public' => true,
'rewrite' => array('slug' => 'portafolio'),
'show_in_rest' => true,
'supports' => array('editor')
)
);
}
add_action( 'init', 'cw_post_type' );
Añade la clave show_in_rest y configúrala como true en tu tipo de entrada personalizado.
'show_in_rest' => true,
'supports' => array('editor')
Como puedes ver, el fragmento de código anterior simplemente establece el parámetro 'show_in_rest' como 'TRUE'. Después de este paso, cuando crees o edites un tipo de entrada personalizado, verás que el editor de Gutenberg estará visible y habilitado.
Todos los pasos y consultas se discuten en detalle en https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/
