Glosario

¿Qué son los custom post types de WordPress?

20 de mayo de 2026

Un custom post type (CPT) de WordPress es un tipo de contenido más allá de los cinco incorporados (post, page, attachment, revision, nav_menu_item). Los CPTs permiten almacenar contenido estructurado como productos, eventos, propiedades, recetas, testimonios o portfolios, cada uno con su propio menú de administración, pantalla de edición, taxonomías, estructura de URLs y jerarquía de plantillas. Los custom post types se introdujeron en WordPress 2.9 (diciembre de 2009) y se convirtieron en el enfoque estándar con register_post_type() en WordPress 3.0 (junio de 2010). Un CPT se registra en PHP mediante register_post_type( $slug, $args ) en el hook init, o visualmente mediante plugins como Custom Post Type UI (más de 700.000 instalaciones activas), Pods (más de 100.000) y Meta Box (más de 400.000). Desde WordPress 5.0 (diciembre de 2018) los CPTs pueden activar el editor de bloques estableciendo show_in_rest en true, lo que también los expone en la REST API en /wp-json/wp/v2/<slug>. WooCommerce registra el CPT product más shop_order, shop_coupon, product_variation y diez más. The Events Calendar usa tribe_events. ACF Pro puede registrar CPTs a través de su UI desde la versión 6.1 (marzo de 2023). Los custom post types siguen siendo la columna vertebral de cualquier sitio WordPress no blog en 2025.

¿Cuándo usar un custom post type?

  • Productos de e commerce (WooCommerce).
  • Eventos (Events Calendar tribe_events).
  • Propiedades inmobiliarias.
  • Portfolios.
  • Testimonios, miembros del equipo, FAQs.
  • Recetas con datos estructurados.
  • Ofertas de empleo.

Cómo registrar un custom post type

add_action( 'init', 'mysite_register_product_cpt' );

function mysite_register_product_cpt() {
    $args = array(
        'labels'             => array( 'name' => 'Productos', 'singular_name' => 'Producto' ),
        'public'             => true,
        'show_in_rest'       => true,
        'has_archive'        => true,
        'rewrite'            => array( 'slug' => 'productos' ),
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
        'menu_icon'          => 'dashicons-cart',
    );
    register_post_type( 'product', $args );
}

Argumentos importantes

ArgumentoFunción
publicDefine show_ui, publicly_queryable, exclude_from_search por defecto.
show_in_restObligatorio para el editor de bloques y el endpoint REST.
has_archiveCrea un archivo en /<slug>/.
supportsFunciones activadas: title, editor, thumbnail, excerpt, custom-fields.
rewriteSlug de URL.

Plugin contra tema

Registra los CPTs siempre en un plugin, no en el tema. Si están en functions.php y el usuario cambia de tema, el CPT desaparece del menú y el contenido se vuelve inaccesible.

Jerarquía de plantillas

  • Single: single-product.php, single.php, singular.php, index.php.
  • Archivo: archive-product.php, archive.php, index.php.

CPTs y REST API

Con show_in_rest => true el CPT está disponible en /wp-json/wp/v2/<rest_base>. Los frontends headless consumen este endpoint.

Plugins que registran CPTs sin código

  • Custom Post Type UI (más de 700.000 instalaciones).
  • ACF Pro 6.1+ (registra CPTs desde marzo de 2023).
  • Pods Framework.
  • Meta Box.
  • Toolset Types.

Rendimiento

  • Todo el contenido CPT vive en wp_posts. Rendimiento idéntico hasta ~100.000 filas.
  • No registres más de 20 a 30 CPTs por sitio.
  • Flush rewrite rules una vez al activar el plugin.
  • Cientos de miles de entradas: considera tabla propia (WooCommerce HPOS desde 8.0 agosto de 2023).

Errores comunes

  • Hook incorrecto. Usa init.
  • Olvidar show_in_rest.
  • No hacer flush a las rewrite rules.
  • Registrar CPT en el tema.
  • Colisión de slug con páginas.

Qué comprueba InspectWP

InspectWP detecta custom post types en el HTML renderizado y rastrea endpoints REST API cuando están expuestos. El informe identifica proveedores populares (WooCommerce, Events Calendar, ACF).

Analiza tu sitio de WordPress ahora

InspectWP analiza tu sitio de WordPress en busca de problemas de seguridad, SEO, cumplimiento del RGPD y rendimiento, gratis.

Analiza tu sitio gratis