✅ Crear un Custom Post Type con Gutenberg habilitado

En WordPress, un Custom Post Type (CPT) es una funcionalidad que te permite crear contenido personalizado en tu sitio web. Por defecto, WordPress viene con algunos tipos de contenido predefinidos, como entradas y páginas, pero un CPT te permite crear tu propio tipo de contenido.

Un CPT se puede utilizar para una variedad de propósitos, desde crear un catálogo de productos en línea hasta mostrar eventos en un calendario.

¿Cómo crear un CPT en WordPress?

Para crear un CPT en WordPress, puedes utilizar la función register_post_type() y agregar el código en el archivo functions.php de tu tema hijo, en un plugin personalizado o en un plugin de funcionalidades como CODE SNIPPETS.

Importante: No agregues el código en el functions.php del tema principal (Padre) ya que al actualizarlo perderás el código y tendrás que agregarlo otra vez.

Aquí está el código para crear un CPT llamado «eventos» con el editor clásico:

function crear_cpt_eventos() {

    $labels = array(
        'name'               => __( 'Eventos' ),
        'singular_name'      => __( 'Evento' ),
        'add_new'            => __( 'Agregar nuevo evento' ),
        'add_new_item'       => __( 'Agregar nuevo evento' ),
        'edit_item'          => __( 'Editar evento' ),
        'new_item'           => __( 'Nuevo evento' ),
        'all_items'          => __( 'Todos los eventos' ),
        'view_item'          => __( 'Ver evento' ),
        'search_items'       => __( 'Buscar eventos' ),
        'not_found'          => __( 'No se encontraron eventos' ),
        'not_found_in_trash' => __( 'No se encontraron eventos en la papelera' ),
        'parent_item_colon'  => '',
        'menu_name'          => 'Eventos'
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-calendar',
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'eventos' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'supports'           => array( 'title', 'editor', 'thumbnail' ),
        'taxonomies'         => array( 'category', 'post_tag' )
    );

    register_post_type( 'eventos', $args );
}

add_action( 'init', 'crear_cpt_eventos' );
Lenguaje del código: PHP (php)


Con este código, se creará un nuevo CPT llamado «eventos» que tendrá las mismas funcionalidades que una entrada de blog normal, incluyendo el editor clásico.

¿Cómo crear un CPT con el editor Gutenberg en WordPress?


Para crear un CPT con el editor Gutenberg en WordPress, debes agregar el parámetro show_in_rest a la lista de argumentos de register_post_type(). Esto le indica a WordPress que quieres habilitar el editor de bloques de Gutenberg para este CPT.

Aquí está el código para crear un CPT llamado «eventos» con el editor Gutenberg:

function crear_cpt_eventos() {

    $labels = array(
        'name'               => __( 'Eventos' ),
        'singular_name'      => __( 'Evento' ),
        'add_new'            => __( 'Agregar nuevo evento' ),
        'add_new_item'       => __( 'Agregar nuevo evento' ),
        'edit_item'          => __( 'Editar evento' ),
        'new_item'           => __( 'Nuevo evento' ),
        'all_items'          => __( 'Todos los eventos' ),
        'view_item'          => __( 'Ver evento' ),
        'search_items'       => __( 'Buscar eventos' ),
        'not_found'          => __( 'No se encontraron eventos' ),
        'not_found_in_trash' => __( 'No se encontraron eventos en la papelera' ),
        'parent_item_colon'  => '',
        'menu_name'          => 'Eventos'
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'show_in_rest'       => true,
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-calendar',
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'eventos' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'supports'           => array( 'title', 'editor', 'thumbnail' ),
        'taxonomies'         => array( 'category', 'post_tag' )
    );

    register_post_type( 'eventos', $args );
}

add_action( 'init', 'crear_cpt_eventos' );
Lenguaje del código: PHP (php)

Con este código, se creará un nuevo CPT llamado «eventos» que tendrá las mismas funcionalidades que una entrada de blog normal, pero con el editor Gutenberg habilitado.

¿Cuál es la diferencia en el código entre crear un CPT con el editor clásico y con el editor Gutenberg?

La diferencia en el código entre crear un CPT con el editor clásico y con el editor Gutenberg es la inclusión del parámetro show_in_rest en la lista de argumentos de register_post_type() para habilitar el editor de bloques de Gutenberg.

En el caso de un CPT que use el editor clásico, el parámetro show_in_rest no se incluiría en la lista de argumentos.

Nos vemos en el siguiente tutorial.

Un saludo,

5/5 - (4 votos)
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    Deja tus opiniones o dudas en los comentarios.

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%