Si tienes una instalación de WordPress en la que se utilizan Custom Post Types, o estas desarrollando una y habéis actualizado a WordPress 5 y activado el editor de bloques, es posible que veas que al editar una entrada personalizada te sigue apareciendo el editor clásico.
Para activar el editor de bloques en tipo de entrada personalizada, debes añadir un argumento más al crearlo, indicando ‘show_in_rest’ => true, de esta forma verás automáticamente aparecerlo si lo tienes activado.
Por ejemplo, en un listado de argumentos estándar como los siguientes, añadiríamos la última línea para activar el Editor de Bloques:
$args = array(
'label' => __( 'Post Type', 'text_domain' ),
'description' => __( 'Post Type Description', 'text_domain' ),
'labels' => $labels,
'supports' => false,
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'show_in_rest' => true,
);
De la misma forma, si creas taxonomías personalizadas para este tipo de entrada, si no añades la misma línea, al editar una entrada del custom post type, no te aparecerán las cajas o metabox para poder seleccionar categoría y/o etiqueta.
Tendrás que editar el código de creación de la taxonomía y añadir la misma línea al final de los argumentos
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'show_in_rest' => true,
);
De ésta forma volverán a aparecerte de forma correcta los metaboxes de categorías y etiquetas en el editor de bloques.
Si el custom post type viene con el theme y no sabes o no encuentras dónde se crea el CTP, también puedes utilizar la siguiente función para añadir el argumento:
add_filter( 'register_post_type_args', 'esl_activar_bloques_ctp', 10, 2 );
function esl_activar_bloques_ctp( $args, $post_type ) {
if ( 'portfolio' != $post_type ) // cambiar portfolio por el nombre del CPT que corresponda
return $args;
$args['show_in_rest'] = true;
return $args;
}
Por último, en el caso que estés utilizando el plugin Genesis Portfolio Pro (o que el theme que usas lo utilice), puedes descargar e instalar el plugin para modificarlo y añadir la compatibilidad con el editor de bloques:
Genesis Portfolio Pro Modifications
¿Eres implementador o desarrollador WordPress?
En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:
ACCEDER AHORA
Comentarios
5 respuestas a «Activar Gutenberg o el Editor de Bloques en los Custom Post Types»
|
Hola Esther, gracias por este post. A mi me pasa que he activado el plugin de custom post type y aunque tengo las cajas en las fichas para woocommerce añadir los campos o contenidos, estos no son ven en los productos. Inicialmente en los 3 ó 4 primeros productos que di de alta, si se veía. Pero de repente ha dejado de aparecer. Ya no sale en ninguno.
¿Qué crees que ha podido ser?
Gracias y un saludo
|
Hola Angel!
Pues no sabría decirte, la verdad… si han dejado de aparece ha tenido que cambiar algo que le afectara. ¿Has instalado algún plugin nuevo o actualizado algún otro? ¿Algún cambio o código que haya podido influir?
Es complicado decirte sin más información…
Saludos!
|
¡Hola!
Gracias por el tutorial, pero intento añadirlo en las funciones del tema, que es el corporate pro, y wordpress provoca un error.
Por lo que sé este tema no tiene soporte para CPT y escogí el último código que indicas, el de la función add_filter, para añadirlo. Trabajo con wordpress 5.4
Saludos.
|
Hola!
en el caso de Corporate Pro, el CPT de portfolio se añade con el plugin de Genesis Portfolio Pro, por lo que la función no te serivrá, pero puedes utilizar el Genesis Portfolio Pro modifications que está aquí: https://gist.github.com/nickcernis/38020edad310d5984b6abc0ecc6ec2f0 para activar el editor de bloques en el portfolio.
Lo que me extraña es que te de error de WordPress, porque simplemente no debería tener efecto, pero no darte error.
Saludos!
|
Hola Esther,
Me has salvado la vida con el «extra» de las taxonomías 🙂 Un gran post. Gracias por compartir,
Saludos