Custom Content Type vs. Custom Post Type

Custom Content Type vs. Custom Post Type

Crear un Custom Post Type en WordPress, es una forma excelente y útil de organizar tu sitio web si estás manejando varios tipos de contenido a la vez.

¿Qué son los Custom Post Types de WordPress?

WordPress proporciona unos cuantos tipos de entradas por defecto, como EntradaPáginaRevisión y Adjuntos. A pequeña escala, estos servirán perfectamente para tu blog. Sin embargo, podrían no ser suficientes cuando tu contenido se vuelva más diverso.

Ahí es donde entra en juego el tipo de post personalizado de WordPress. En pocas palabras, es un tipo de post adicional que creas en base a tus necesidades. Con él, podrás agrupar tus posts de forma más específica.

El tipo de post personalizado de WordPress tiene su propio menú en el panel de administración de WordPress, que dirige a una lista de entradas de ese tipo en particular.

El tipo de publicación personalizada (CPT) es cualquier tipo de publicación que difiere de las publicaciones simples.

El código inicial para añadir un nuevo tipo de post personalizado debería verse así:

// La función personalizada DEBE estar enganchada al hook de acción init
add_action('init', 'ht_register_movie_post_type');

// Una función personalizada que llama a register_post_type
función ht_register_movie_post_type() {

  // Establece varias piezas de texto, $labels se utiliza dentro del array $args
  $etiquetas = matriz(
     'name' => _x( 'Artículos personalizados', 'post type general name' ),
     'singular_name' => _x( 'Artículo personalizado', 'post type singular name' ),
     ...
  );

  // Establece varios datos sobre el tipo de post
  $argumentos = matriz(
    'etiquetas' => $etiquetas,
    'description' => 'Mi tipo de post personalizado',
    'público' => verdadero,
    ...
  );

  // Registra el tipo de post con toda la información contenida en el array $arguments
  register_post_type( 'articulo', $args );
}

CPT es una solución muy conocida y conveniente, pero tiene su particularidad. Todos los datos que incluye se almacenan en dos tablas de base de datos: post y post meta. Además, cada metacampo de cada publicación se almacena como una fila separada, lo que significa que si, por ejemplo, tenemos un tipo de publicación personalizada con 20 metacampos, ocupará 1 fila de la tabla de la base de datos de publicaciones y 20 filas de la publicación. tabla de la metabase de datos. Así, si sumamos 100 publicaciones, sus datos ocuparán 2100 filas de la base de datos.

Lo malo de las bases de datos grandes es que el sistema tarda mucho en procesar todos los registros para encontrar los datos necesarios. En última instancia, cuantos más datos tenga en su sitio , más lenta será su velocidad de carga. Queríamos resolver el problema. Y así fue como apareció el tipo de contenido personalizado.

¿Qué es un tipo de contenido personalizado (CCT)?

El tipo de contenido personalizado (CCT) es cualquier tipo de publicación que difiere de las publicaciones simples y le permite crear una tabla separada en la base de datos de WordPress para almacenar sus datos. Puede configurar su estructura y agregar una interfaz al panel de administración para ver, editar y exportar datos almacenados en esta tabla.

En otras palabras, CCT es bastante similar a CPT, pero todos los datos de cada tipo de contenido personalizado se almacenan por separado del resto de la base de datos. Además, cada elemento de cualquier CCT es solo una fila de la tabla, lo que significa que 100 publicaciones ocupan 100 filas de la base de datos, a diferencia de 2100 dentro de CPT. Además, estas 100 filas se almacenarán en una tabla separada, por lo que cuando seleccionamos publicaciones regulares de la base de datos, los datos de nuestro CCT no las afectarán de ninguna manera y, en última instancia, no afectarán la velocidad de carga del sitio web.

Custom Content Type vs. Custom Post Type

Aunque el tipo de contenido personalizado podría convertirse en un verdadero punto de inflexión en el mundo de WordPress, la versión actual es la primera y aún no es perfecta. En el desarrollo posterior de CCT, todavía hay algunos casos en los que es mejor elegir Tipos de publicaciones personalizadas, por ejemplo, si va a utilizar el sistema de archivo predeterminado por taxonomías o complementos que aún no son compatibles con CCT.

¿Cómo crear un tipo de contenido personalizado?

Comenzaremos preguntando ¿podríamos crearlo sin tener que comprar un plugin? , claro que si!, programando el nuestro, próximamente crearemos un crud para ver como, pero hoy veremos los Custom Content Type  que nos ofrece el plugin de JetEngine de Crocoblock.

¿Que es Crocoblock?, es principalmente, un  conjunto de plugins o addons para Elementor, que aporta muchísima rapidez y facilidad de diseño para agencias.
Necesitaremos el plugin de JetEngine es de gran ayuda si necesitas crear un CCT, cualquier contenido que sea diferente de una página o publicación. Puedes agregar cualquier número de elementos, que no afectarán la base de datos. Puedes usar diferentes diseños, metadatos y opciones para crear lo que más te convenga.
En última instancia, significa consultas más rápidas, filtrado más rápido y menos uso de recursos del servidor.

¿Cómo crear un CCT con JetEngine?

Ahora, cuando estés seguro de que necesitas la funcionalidad de Tipo de contenido personalizado y evidentemente una vez instalado el plugin, repasamos el proceso de creación,

1Paso : habilitar la funcionalidad CCT

Vamos al panel de WP >  JetEngine > Panel de JetEngine . En la pestaña Módulos , busca la casilla de verificación de Custom Content Types, marcala y presiona el botón » Guardar «.

2Paso : crear un CCT

Cuando la configuración guardada esté habilitada, la página se volverá a cargar y verás una opción de «Custom Content Types» en el submenú JetEngine . Ves a esta página.

La tabla de tipos de contenido personalizado estará vacía, así que presiona el botón » Agregar nuevo «.

3Paso — Definir la configuración

El menú de configuración que puedes ver ahora que consta de tres secciones. Repasemos las herramientas que te ofrecen.

Configuración general

  • nombre _ Aquí elige el título de su tipo de contenido personalizado;
  • babosa _ Este campo se rellena automáticamente a partir del Nombre . Slug es un tipo de ID que necesitará si desea utilizarlo para algunas de las funcionalidades dinámicas de JetEngine. Puedes usar solo letras latinas aquí y asegurarse de que no haya espacios allí; usa guiones o guiones bajos en su lugar;
  • Nombre de la tabla de base de datos . Así es como se nombrará en la base de datos la tabla SQL recién creada. Esta función también se crea automáticamente agregando un slug a la identificación «wp_jet_cct_». Sin embargo, puedes cambiarlo por algún nombre personalizado si lo deseas.
  • Tiene una sola página . Activa esta opción si deseas conectar el Custom Content Type con un Custom Post Type. En este caso, aparecerán tres características más:
    • Tipo de publicación relacionada . Puede elegir el Custom Post Type para conectarse con su CCT desde el menú desplegable.
    • Campo de título . En la sección Configuración de campos, crea campos para su tipo de contenido. Los datos del campo que elegirá en este menú desplegable se colocarán automáticamente en el área Título de la publicación. Es por eso que debes elegir solo los campos relacionados con texto y números para esta función.
    • Campo de contenido . La información del campo que elija en este menú desplegable se colocará automáticamente en el área de Contenido de la publicación. Ten en cuenta que solo los campos que están llenos de texto o números se mostrarán correctamente en la publicación. Los cambios que se realicen en el área Contenido de la publicación no afectarán los datos en el campo del elemento Content Type.
Configuración general de CCT
  • Icono de menú . El tipo de contenido personalizado se muestra en el menú del panel. Aquí puedes elegir el icono para ello.

Campos

Al hacer clic en el botón » New Field «, puedes agregar tantos meta fields (meta campos) al elemento Custom Content Type como desees. Los campos y todas sus configuraciones son los mismos que los agregados a los meta fields. Si necesitas más detalles, consulta el tutorial de creación de meta fields de crocoblock.

Columnas de administración

Puedes elegir qué metacampos se mostrarán como columnas de administración en la publicación aquí. Simplemente activa Mostrar en las columnas de administración. Se le permitirá agregar prefijo y sufijo y elegir si la columna se puede ordenar o no.

Columna de administración de CCT

Cuando hayas terminado con la configuración, presione el botón » Agregar tipo de contenido «. Encuentra el CCT recién creado en el dashboard menú, ábrelo y comienza a llenarlo con elementos. Después de hacer clic en el botón » Agregar nuevo «, la ventana de edición de elementos se verá así:

agregado de nuevo elemento CCT

Puedes agregar tantos artículos como necesites. Si no deseas completar todos los elementos manualmente, puedes hacer clic en el botón «Volver a la lista de elementos» después de crear y guardar el elemento.

acción de clonación de elemento cct

En la columna Acciones , puede ver la acción Clonar que permite duplicar los elementos y editarlos en lugar de crear otros nuevos.

Acción de edición rápida

 

Esta función permite mostrar algunos metacampos de JetEngine en el área predeterminada para una edición rápida. Le permite cambiar rápidamente los valores de algunos metacampos sin abrir elementos. Los campos disponibles para la edición rápida son los siguientes:

  • Texto;
  • Fecha;
  • Tiempo;
  • Fecha y hora;
  • área de texto;
  • Casilla de verificación (solo si la opción Guardar como matriz está habilitada);
  • Radio;
  • Seleccione;
  • Número.

Ves a JetEngine > Custom Content Types, presiona para editar uno de sus CCT. Luego crea o abre meta fields, cuyo tipo coincida con la lista anterior y habilita la opción de soporte de edición rápida .

opción de soporte de edición rápida cct

Presiona el botón «Actualizar» y ves al CCT en el menú del dashboard. Haz clic en la acción (Edición rápida) “Quick Edit” que aparece .

Los meta fields  que hemos establecido anteriormente se muestran en el área predeterminada para que podamos editarlos aquí mismo.

meta campos de edición rápida

Elemento Custom Content Type Listing Item

El proceso de creación de elementos de listado para CCT es igual que para el de Custom Post Type. Se describe en detalle en el  tutorial de creación de listas . Solo hay dos diferencias:

1. Después de hacer clic en el botón » Agregar nuevo » en la pestaña del menú JetEngine > Listados , debes elegir la opción «Custom Content Type» en el menú desplegable Listing Source.

Elemento de listado de CCT

2. Debes elegir la opción «Publicar/Término/Usuario/Datos de objeto» en el menú desplegable JetEngine’s dynamic widgets or blocksEn ese caso, encontrará losmeta fields de Custom Content Type en la lista desplegable Object Field.

En Elementor page builder:

Campo de objeto CCT
Una vez que haya creado un listado para el CCT, podrá crear una Listing Grid con él, aplicarle cualquier tipo de filtros y mostrarlo en cualquier página que necesites.

Felicidades, ya hemos aprendido a crear un Custom Content Type  y asignarlo al Post Type utilizando las funcionalidades de JetEngine, solo queda ponerlo en práctica.