Colocar entradas individuales bajo términos de taxonomía
Un custom post type de POM puede heredar la ruta de archivo pública de una taxonomía conectada. Una entrada asignada queda entonces directamente bajo su término seleccionado:
/docs-category/pom/first-steps/
/docs-category/pom/first-steps/install-the-theme/
La primera ruta es un archivo de término. La segunda es la entrada individual.
Prepara una taxonomía apta
En Settings → POM Theme → Content model:
- Crea y guarda el custom post type.
- Crea una taxonomía e incluye ese post type en Enabled post types.
- Deja inactiva Disable archive for this taxonomy.
- Activa Enable hierarchical URLs.
- Crea términos padre e hijo representativos y asígnalos a una entrada publicada.
La taxonomía debe permanecer pública, jerárquica y conectada al post type para que la opción del enlace permanente siga disponible.
Activa el enlace permanente anidado
- Abre Settings → Permalinks.
- Busca Custom post type URLs y el content type requerido.
- En Single entry URL, elige Taxonomy-based.
- En URL taxonomy, selecciona la taxonomía que debe controlar la ruta de la entrada individual.
- Guarda los ajustes de enlaces permanentes.
- Abre una entrada asignada y el archivo de su término seleccionado.
Default (custom slug base) conserva la URL ordinaria del custom post type. Si la taxonomía también tiene una base de archivo respaldada por página, la URL de la entrada individual hereda automáticamente la ruta de esa página.
Por ejemplo, con una página base en /docs/ y un archivo de término en /docs/pom-lms/01-pom-lms-start-here/, la entrada 01-index-pom-lms usa /docs/pom-lms/01-pom-lms-start-here/01-index-pom-lms/. El Custom slug base sigue siendo la alternativa para las entradas sin un término asignado.
Cómo elige POM la ruta
- Una entrada con un término asignado usa la ruta de archivo completa de ese término.
- Una entrada con varios términos usa el término asignado más profundo.
- Si los términos asignados tienen la misma profundidad, se usa el término con el ID de término más bajo.
- Una entrada sin término asignado conserva su URL normal de custom post type.
- Un archivo de término gana si un término y una entrada ocuparían de otro modo la misma ruta.
Solo un custom post type puede heredar una taxonomía o una base de archivo de taxonomía equivalente. Esto evita que slugs de entrada idénticos produzcan rutas ambiguas.
La URL basada en taxonomía se convierte en el enlace permanente que devuelve WordPress. Por tanto, las canónicas, los sitemaps, las vistas previas, el schema y las integraciones que usan la API estándar de enlaces permanentes lo reciben. Una anulación canónica explícita en un plugin SEO sigue estando controlada por ese plugin.
Redirecciones, rutas y migas de pan
La ruta original del custom post type sigue disponible como una redirección permanente a la URL canónica basada en taxonomía. Una ruta anidada anterior también puede redirigir mientras la ruta de su término siga identificando la entrada. La paginación, los feeds, los embeds, las páginas de comentarios y las rutas traducidas permanecen separados del enrutamiento de entradas individuales.
En la entrada individual, las migas de pan de POM Theme usan los antecesores de página base configurados, seguidos del rastro completo de términos. Las migas de pan de Rank Math y el schema de migas de pan usan la misma jerarquía. Los slugs de páginas, taxonomías, términos, entradas e idiomas localizados por POM Translate fluyen a través de los enlaces resultantes.
Cuando Polylang usa directorios de idioma, guarda Settings → Permalinks después de activarlo o de cambiar su modo de URL.
Con Polylang Pro, asigna la entrada y sus términos al mismo idioma y vincula las traducciones de la página base seleccionada. Cada entrada hereda el archivo de término en ese idioma, incluido un slug de página base traducido o una jerarquía de páginas padre. POM Translate mantiene su propia localización de idioma y slug, y la misma estructura funciona sin un plugin de traducción.
Elige otro término asignado mediante programación
Los desarrolladores pueden anular el término predeterminado con pom_taxonomy_permalink_term:
add_filter(
'pom_taxonomy_permalink_term',
static function (WP_Term $term, array $terms, WP_Post $post, string $taxonomy): WP_Term {
return $term;
},
10,
4
);
Devuelve un término que pertenezca a la taxonomía configurada y que ya esté asignado a la entrada. Los valores no válidos recurren a la elección predeterminada de POM Theme.
El rastro de migas de pan se puede ajustar con pom_taxonomy_permalink_breadcrumb_terms. Devuelve objetos WP_Term asignados en orden de raíz a hoja.
Las integraciones de enrutamiento pueden ampliar pom_taxonomy_permalink_base_paths, que recibe un array de rutas base y el slug de la taxonomía. Las rutas son relativas a la raíz de idioma del sitio; conserva las rutas existentes y añade cualquier base adicional. Este filtro registra solo rutas: los enlaces individuales canónicos siguen heredando get_term_link(). Guarda Settings → Permalinks después de cambiar las bases registradas.
Verifica y desactiva
Prueba una entrada con un término, con varios términos y sin término. Confirma su URL canónica, la redirección de la ruta antigua, el archivo de término, el rastro de migas de pan, la entrada del sitemap y cada idioma activo.
Para desactivar la estructura, selecciona Default (custom slug base) en Single entry URL y guarda Settings → Permalinks. Revisa los enlaces externos y las cachés antes de cambiar la taxonomía en un sitio en producción.
Para las opciones de archivo respaldadas por página, sin base y generales, consulta Configure custom post type URLs.