
Hace unos días me escribió un amigo para preguntar cuánto cobrar por implementar WordPress con Custom Post Types. Aunque no es algo que tenga valorizado como ítem extra, obviamente los Custom Post Types y las Custom Taxonomies le dan un valor agregado al resultado final. En resumen, la producción y la administración se tornan más simples.
Como existen numerosos tutoriales y plugins sobre el tema pasaré de repetir lo que ya otros se han tomado el esfuerzo de explicar, prefiero concentrarme en algunos tips que, aunque obvios, pueden ser de mayor utilidad.
Todo pasa por la Arquitectura de Contenidos
Antes de decidir su usar Custom Post Types y Custom Taxonomies es necesario saber si realmente es meritorio hacerlo y para ello nada mejor un buen trabajo de AI previo. Es necesario visualizar con claridad la naturaleza y cantidad de los objetos (unidades o contenidos) que manipularemos y que convivirán en un sitio, vale decir: páginas de contenidos fijos, noticias, fichas de productos, posts de uno o más blogs, catálogos, etc. Para mí, lo primordial es simplificar al máximo en función de las necesidades del cliente, entendiendo que éste es usuario de un sistema que, en principio, debe ser sencillo de administrar.
Post type básicos: Posts y Pages
Es una obviedad, pero objetos diferentes en cuanto a la forma de su contenido son técnicamente post_type distintos. Por ejemplo, noticias y catálogo o fichas de portafolio y anotaciones de un blog.
Entonces, ¿cuál es la diferencia entre Posts y Pages? Si pensamos en la expresión del contenido los Posts son anotaciones cronológicas que pueden o no guardar relaciones temáticas entre sí mediante categorías y/o etiquetas. A su vez, las Pages, son contenidos fijos que no se relacionan temática ni cronológicamente, más bien corresponden a contenidos clasificados en ámbitos o secciones diferentes. Por ejemplo: la página de contacto, la página de información sobre el autor , incluso -aunque mueran gatitos por ahí- lá pagina del blog o de las preguntas frecuentes.
Técnicamente, los Posts y las Pages son objetos que pueden definirse por la naturaleza de su relación con el resto de los objetos de su mismo tipo. Así tenemos que los Posts se relacionan mediante taxonomías (Categorías y Etiquetas). Las Pages, en cambio, son objetos que se relacionan entre sí mediante niveles de dependencia o de herencia. Es decir, una página puede ser ancestro de otras en uno o varios niveles de manera recursiva.
En concreto, si en la AI se detectan dos objetos cuya expresión formal del contenido es distinta y, a la vez, comparten una misma forma de relacionarse con el resto objetos de su mismo tipo, estamos frente a un nuevo post_type. Es importante mencionar que todos los post_type nuevos que de definan deberán necesariamente heredar, según la configuración que realicemos, las características inherentes de los post_type básicos.
Taxonomías básicas: categorías y etiquetas
Nuevamente, las categorías y etiquetas pueden definirse por la relación que establecen con el resto de los objetos de su mismo tipo: estructuradas, mediante niveles de dependencia, en el caso de las categorías, y sin dependencia en el caso de las etiquetas. Por consiguiente, al definir nuevas taxonomías éstas heredarán las características básicas de estos dos tipos de clasificaciones.
Como ya suponen, las taxonomías solo se aplican a los post_type cuya configuración hereda las características del tipo posts. Si pensamos en un catálogo de vehículos, podríamos definir una categoría para el tipo de vehículo:
- automóvil
- camioneta
- motocicleta
- camión
A su vez podríamos crear subcategorías:
- automóvil
- sedan
- hatchback
- familiar
- Cabriolet
- Camionetas
- 4×4
- 1 cabina
- 2 cabina
- pickups
Pero independiente de tipo de vehículo podríamos querer agrupar por color, año o marca mediante uno o varios grupos de etiquetas.
Posibilidades
- No hay limites para la cantidad de nuevos post_type ni nuevas taxonomía.
- Es posible asignar o asociar taxonomías exclusivas para ciertos post_type
- Es posible asignar metabox (custom field) exclusivos para ciertos post_type
- Para un post_type como un catálogo el uso las taxonomía con custom flieds y metabox es la mejor solución para facilitar la administración del contenido.
Limitaciones
- En general la asignación de plantillas para post_type específicos tiene cierta complejidad
- En el caso de los post_type que heredan el comportamiento del tipo Page la asignación de plantillas no es individual como en el tipo Page original
Tutoriales y Plugins
Custom Post Types:
- El tutorial oficial de wordpress
- Showing custom post types on your home/blog page
- Custom post types in wordpress
- Custom post types in wordpress 30
- Extending custom post types in wordpress 30
- Setting up custom contenttypes
Algunos Plugins:
- Custom content types
- Custom content type manager
- Custom post type ui
- Content types wordpress plugin
- Ultimate post type manager
Custom Taxonomies:
- El tutorial oficial de wordpress
- Custom taxonomies in wordpress 2.8
- Introducing wordpress 3 custom taxonomies
Algunos Plugins:
Posts relacionados: