Rutas «muy personalizadas» para custom post types
-
Hola,
tengo la siguiente duda «existencial» para un proyecto en el que estoy trabajando, es para un sitio que comercializa viajes, tengo varios tipos de entradas personalizadas, en adelante CPT, y alguna taxonomía para conformar una «especie de modelo de datos»:
- CPT «project type», con el slug «/projects»,
- CPT «destination», con el slug «/destination»,
- taxonomía personalizada «continent», con el slug «/continents», asociada al CPT «destination»
- CPT: «project», con el slug «/projects»,
Un proyecto, la entidad «principal», está relacionado con:
- un CPT «destination», destino en el que está ubicado,
- y uno o varios CPT «project type», tipos de proyectos con los que está relacionado.
Todo esto genera un mapa de rutas similar a este:
- /projects/ski-instructor-courses/, con un patrón /projects/{project-type-slug}/, caso de uso «single» de un custom post type «project type», muestro además todo los proyectos asociados al custom post type «project type» indicado en parámetro «project-type-slug» de la ruta,
- /destinations/brazil/, con un patrón /destinations/{destination-slug}/, caso de uso «single» de un custom post type «destination», muestro además todo los proyectos asociados al custom post type «destination» indicado en parámetro «destination-slug» de la ruta,
- /continents/africa/, con un patrón /continents/{continent-slug}/, caso de uso «tag» de un término de la taxonomía de destinos «continent», muestro además todo los proyectos asociados a los destinos que incluyen el término de la taxonomía «continents» indicado en parámetro «continent-slug» de la ruta,
- /gap-year/2-week-pre-medical-experience-india/, con un patrón /gap-year/{project-slug}/, caso de uso «single» de un custom post type «project», muestro la información del custom post type «project» indicado en parámetro «project-slug» de la ruta.
Pues bien, el equipo SEO del cliente me pide el siguiente cambio en la estrategia de URL:
- para mostrar la vista single de un CPT «project type» usar el patrón /{project-type-slug},
- para mostrar la vista single de un CPT «destination» usar el patrón /{destination-slug},
- para mostrar la vista «tag» de un término de la taxonomía «continent» usar el patrón /{continent-slug},
- para mostrar la vista single de un CPT «project» usar el patrón /{project-slug},
- crear además una regla que coincida con el siguiente patrón /{project-type-slug}/{destination-slug}/ y para mostrar en ella los proyectos relacionados con los parámetros {project-type-slug} y {destination-slug} indicados en la ruta.
Como se puede ver las rutas no están jerarquizadas ni organizadas, con lo que no existen patrones para saber qué tipo de recurso se está pidiendo en el «request» ¿se os ocurre alguna manera coherente de abordar esto usando, o no, el API Rewrite de WordPress?
Gracias por adelantado.
Estoy a vuestra disposición para cualquier duda.
- El debate ‘Rutas «muy personalizadas» para custom post types’ está cerrado a nuevas respuestas.