Las páginas de tipos de publicación personalizadas aparecen como "no encontradas"

16 sept 2015, 16:03:38
Vistas: 63.5K
Votos: 29

He creado dos nuevos tipos de publicación personalizados (Custom Post Types) usando código que he utilizado exitosamente en otros proyectos sin problemas. El primero se llama top_charts, el otro case_studies, y ambos aparecen correctamente en el menú de administración y puedo crear nuevas publicaciones.

Desafortunadamente las nuevas publicaciones no aparecen. Solo obtengo una respuesta 404.php.

He creado un archivo archive-top_charts.php para ver si puedo hacer que aparezca algo, pero veo una respuesta "página no encontrada" del 404.php.

Originalmente nombré las publicaciones personalizadas como top-charts y case-studies, pero pensé que el guión podría ser el problema, así que las renombré para usar un guión bajo en su lugar. No ha ayudado.

He intentado volver a guardar mis enlaces permanentes, pero nada ha cambiado. Mi archivo .htaccess se ve como se esperaría (y otras páginas funcionan bien). ¿Qué más puedo revisar?

4
Comentarios

¿has utilizado flush_rewrite_rules( false ); en el registro del tipo de publicación? Para más detalles sigue este enlace http://nooshu.com/page-not-found-with-custom-post-types

jas jas
16 sept 2015 16:09:17

Gracias. Eso arregló el enlace a la publicación en sí, pero no la página archive-top_charts.php. ¡Qué extraño!

Django Reinhardt Django Reinhardt
16 sept 2015 16:15:09

Solo agregando parte de esto en la respuesta que puede ayudar a otros usuarios y también intentar buscar el archivo.

jas jas
16 sept 2015 16:18:23

encontré la respuesta simple a este error en otra publicación de stack: Página de Enlace Permanente de Tipo de Entrada Personalizada No Encontrada

dnll dnll
31 jul 2017 14:21:06
Todas las respuestas a la pregunta 5
2
44

¡No necesitas editar tu código PHP!

Aunque puedes hacer esto en la función que registra tu tipo de contenido personalizado, como sugieren otras respuestas, también puedes hacerlo desde el menú de configuración, evitando así modificar tu código PHP:

Para actualizar las reglas de reescritura o los enlaces permanentes de WordPress (generalmente necesario hacerlo manualmente para nuevos tipos de contenido personalizado) desde el Escritorio:

  1. En el menú principal, busca "Ajustes > Enlaces permanentes".
  2. Desplázate hacia abajo si es necesario y haz clic en "Guardar cambios".
  3. Las reglas de reescritura y los enlaces permanentes se actualizarán.

¡Es así de simple!

Imagen de la página de guardado de enlaces permanentes referencia

6 ene 2017 20:23:34
Comentarios

Creo que también necesitaba has_archive, pero es bueno saber que puedes forzar una actualización a través del menú.

Django Reinhardt Django Reinhardt
9 ene 2017 13:44:31

¿Hay alguna manera de guardar los cambios (actualizar) los enlaces permanentes automáticamente en lugar de tener que ir a Ajustes > Enlaces permanentes cada vez que se añade una categoría/término de CPT? Por ejemplo, ¿cómo podrá hacer esto un usuario no administrador si no tiene acceso a los ajustes? ¿Se puede llamar a un hook al añadir una nueva categoría para actualizar los enlaces permanentes automáticamente?

Ryan Coolwebs Ryan Coolwebs
2 jun 2017 05:08:07
2
38

Para solucionar el problema de que no se encuentre un tipo de entrada personalizado (custom post), utiliza el siguiente código en tu archivo functions.php:

flush_rewrite_rules( false );

Esto deberías hacerlo solo como medida temporal, ya que de lo contrario se ejecutará en cada carga de página.

Para más detalles, sigue este enlace

En cuanto a que el archivo archive-top_charts.php no aparezca, asegúrate de tener 'has_archive' => true cuando estés registrando tu tipo de entrada.

16 sept 2015 16:18:27
Comentarios

genial que hayas encontrado 'has_archive' :)

jas jas
16 sept 2015 16:33:10

¿por qué esto sigue funcionando? y ¿por qué no es un error de wordpress?

Cerveser Cerveser
4 sept 2020 21:09:00
0

Me doy cuenta de que esto llega tarde (y puede que no esté relacionado con el problema), pero quería señalar a otros un posible problema.

En mi caso, había configurado la reescritura de mi taxonomía como "tools" y la reescritura del tipo de contenido como lo mismo. Por lo tanto, nunca funcionaría correctamente ya que era un conflicto. Desafortunadamente, no hay detección para algo así, así que pensé en señalarlo para otros.

25 may 2019 04:45:07
0

Acabo de agregar esta línea para las reglas de reescritura, esta era la razón en mi caso. Después de comentarla o eliminarla se resolvió, pero también puedes establecerla como verdadera.

flush_rewrite_rules( true );
15 dic 2020 16:57:46
1
-1

En mi caso faltaban permisos en mi carpeta de desarrollo, por lo que el archivo .htaccess no pudo ser creado o modificado.

Así que el vaciado manual o guardar cambios en los Permalinks de WP no ayudaba.

La solución fue crear el archivo .htaccess manualmente.

4 ene 2020 14:47:09
Comentarios

Sigo el método de @David Salcer, creé un archivo htaccess y luego funcionó.

ca hoang ca hoang
2 jun 2023 06:57:09