Error 404 en páginas de Categorías y Etiquetas
Me estoy enfrentando a un problema extraño ya que estoy recibiendo errores 404 en las páginas de categorías y etiquetas del blog. Estoy usando un tema personalizado que incluye:
- tag.php
- category.php
- archive.php
- home.php
- index.php y
- 404.php
El archivo del blog funciona bien, pero cuando intento cargar páginas de etiquetas o categorías, soy redirigido al archivo de plantilla 404.php.
También hay otro problema extraño que estoy enfrentando: si elimino el archivo 404.php de mi carpeta de tema, los enlaces de categoría y etiqueta funcionan bien y cargan contenido desde archive.php, pero muestra "página no encontrada" en el título de la página y se añade la clase error404 dentro de la etiqueta body de esa página.
Aquí está la lista de elementos que he intentado hasta ahora para resolver el problema:
- Actualizar la estructura de enlaces permanentes.
- Aplicar base de Categoría y Etiqueta.
- Cambiar el tema a twentyseventeen en el cual todo funcionaba bien
- Todo el código en mis archivos header.php y footer.php sigue las pautas del tema de WordPress.
Por favor, sugieran una solución que pueda ayudar a resolver esto, ya que funciona bien sin 404.php. Los Blogs y Categorías en el sitio web se importaron de otro sitio web usando el importador de WordPress.
Actualización de la pregunta: ¿Por qué WordPress redirecciona a 404.php aunque los archivos category.php, archive.php e index.php estén presentes dentro de la carpeta del tema de WordPress en las páginas de categorías o etiquetas?
Ya sé que esta es una pregunta antigua pero estaba teniendo el mismo problema en un tema que heredé y me encontré con esta pregunta en mi búsqueda de respuestas.
En mi caso particular, encontré el siguiente código PHP incluido en el archivo function.php del tema:
if( is_category() || is_date() || is_author() ) {
global $wp_query;
$wp_query->set_404(); //establece como página 404 no encontrada
}
Este código redirige cualquier página de archivo de categoría, fecha o autor a un error 404 (que muestra tu plantilla de tema para 404). Quizás quieras buscar algo similar en tu tema (asumiendo que no lo hayas descubierto ya).
En mi caso no era el tema, sino este plugin https://wordpress.org/plugins/smart-archive-page-remove instalado por alguien. Tu respuesta realmente ayudó a resolver el problema
Vinay
Yo tuve el mismo problema. Sin embargo, agregué lo siguiente al archivo functions.php (cortesía de wpbeginner.com) para ver mis tipos de entradas personalizadas en las categorías. WordPress no muestra ningún tipo de entrada personalizada en las categorías hasta que agregamos el siguiente filtro.
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if( is_category() ) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('nav_menu_item', 'post', 'tu_nombre_de_tipo_de_entrada'); // ¡no olvides nav_menu_item para permitir que los menús funcionen!
$query->set('post_type',$post_type);
return $query;
}
}
Ve al backend de WordPress siguiendo esta ruta: Ajustes > Enlaces permanentes. Asegúrate de que la base para las categorías sea "category" y para las etiquetas sea "tag" (a menos que tengas alguna configuración especial muy extraña) y simplemente presiona el botón "Guardar cambios", incluso si no has modificado nada. Hacer clic en este botón puede hacer que las páginas de categorías y etiquetas vuelvan a funcionar.
No olvides limpiar la caché de WordPress para probar los cambios.
Hola Vishal, por favor lee la pregunta nuevamente, ya lo he intentado.
Vatsh Patel
Vatsh Patel
Revisé en la consola y encontré un error. "Uncaught TypeError: Cannot read property 'getContext' of null" ¿Podrías cerrar correctamente la etiqueta canvas?
vishalprajapati13
Sí, también me di cuenta de eso, pero el partial del canvas solo se llama en el archivo frontpage.php, no lo estamos llamando en ningún otro lugar del sitio web. Además, el HTML DOM completo no se está cargando, sino que redirige a la página 404.php
Vatsh Patel
