Cómo eliminar el archivo de un tipo de entrada personalizada
Tengo un tipo de entrada personalizada llamado "recipe" con el parámetro has_archive
establecido como true. Al visitar mysite.com/recipe/ muestra una lista básica de archivo con todas las recetas publicadas y un título de página "Recetas". Todo bien hasta aquí.
Ahora busco deshabilitar esa página de archivo de recetas (pero mantener funcionando los enlaces individuales de las recetas). Mi primer pensamiento fue intentar establecer has_archive
como false, lo que parece que debería funcionar. Pero no. La única diferencia que hace es en el título de la página que por alguna razón se convierte en el nombre del sitio. El archivo en sí sigue mostrándose.
¿Cuál es la mejor manera de eliminar ese archivo por completo? ¿Hay algún parámetro de register_post_type
que logre esto o es imposible y se trata de crear una plantilla de página personalizada con una redirección?
Gracias.
El parámetro has_archive
para register_post_type()
hace exactamente lo que esperarías que haga. Sin embargo, modifica las reglas de reescritura cuando se establece. Por lo tanto, si lo cambias a false
, necesitarás vaciar tus reglas de reescritura para que la visualización del índice de archivo sea eliminada completamente.

Nota: esto solo necesita hacerse una vez. Una forma fácil de hacerlo es, por ejemplo, visitar Ajustes->Enlaces permanentes y volver a guardar la configuración actual. Esto limpiará las reglas de reescritura.

Ten en cuenta que esto no desactiva realmente los archivos; solo desactiva la URL bonita para acceder a ellos (misitio.com/receta/
en este ejemplo). El archivo sigue existiendo y es accesible en misitio.com/?post_type=receta
siempre que el tipo de contenido sea consultable públicamente.
