Post Types predefinidos
Al construir una aplicación o un sitio web con cierto nivel de complejidad, es muy común que en algún momento se necesite algún tipo de contenido diferente de los que ya tenemos, alguna nueva entidad para la que sea posible crear, editar y modificar registros.
Si nuestra aplicación está basada en PHP y MySQL, normalmente se tiende a diseñar e implementar nuevas tablas en la base de datos para que contengan la información de las nuevas entidades. A continuación se escribe el código que gestione la carga, edición y eliminación de contenidos, el acceso de los usuarios de la aplicación a esos contenidos, y las relaciones e interacciones con otras entidades.
Lo que suele pasar con este enfoque es que, a medida que la aplicación se vuelve más grande y se necesitan más tipos de contenido, también se vuelve más complejo el mantenimiento de nuestras entidades, ya que sus datos y funcionalidad pueden variar mucho de una a otra, por tener diferentes características.
Sin embargo, si se trabaja con un framework, a menudo este suele proveer una serie de herramientas para crear nuevos tipos de contenido de una manera previamente definida y estandarizada, de forma que se fuerce una cierta coherencia interna para lo que vayamos a crear.
En el caso de WordPress, esta serie de herramientas esta cubierta por la API de Post Types, la cual permite interactuar con tipos de contenidos nuevos o ya existente siguiendo un conjunto de reglas.
Por defecto, con su instalación básica, WordPress presenta cinco tipos de contenido: posts, páginas, revisiones, archivos y menús de navegación. Todos tienen diferencias entre ellos, las cuales se pueden notar al cargar o editar información, y todos están construidos usando la API de Post Types. Esta API permite manejar diferentes tipos de datos para diferentes tipos de contenidos de una forma estandarizada.