Errore 404 su Pagine di Categorie e Tag
Sto affrontando un problema strano poiché ricevo errori 404 sulle pagine delle categorie e dei tag del blog. Sto utilizzando un tema personalizzato che include:
- tag.php
- category.php
- archive.php
- home.php
- index.php e
- 404.php.
L'archivio del Blog funziona correttamente ma quando provo a caricare le pagine dei tag o delle categorie vengo reindirizzato al file template 404.php.
C'è anche un altro problema strano che sto affrontando: se rimuovo il file 404.php dalla cartella del mio tema, i link delle categorie e dei tag funzionano correttamente e caricano il contenuto da archive.php, ma mostra "pagina non trovata" nel titolo della pagina e la classe error404 viene aggiunta all'interno del tag body di quella pagina.
Ecco l'elenco delle cose che ho provato finora per risolvere il problema:
- Aggiornamento della Struttura Permalink.
- Applicazione della Base per Categorie e Tag.
- Cambio del tema a twentyseventeen nel quale tutto funzionava correttamente
- Tutto il codice nei miei file header.php e footer.php segue le linee guida dei temi WordPress.
Per favore, suggeritemi una soluzione che possa aiutare a risolvere questo problema, dato che funziona correttamente senza 404.php. I Blog e le Categorie sul sito web sono stati importati da un altro sito utilizzando l'importatore WordPress.
Aggiornamento della Domanda: Perché WordPress reindirizza a 404.php anche se i file category.php, archive.php e index.php sono presenti all'interno della cartella del tema WordPress nelle pagine di categorie o tag?

So che questa è una domanda vecchia, ma mi trovavo ad affrontare lo stesso problema in un tema che ho ereditato e mi sono imbattuto in questa domanda durante la mia ricerca di risposte.
Nel mio caso specifico, ho trovato il seguente codice PHP incluso nel file function.php
del tema:
if( is_category() || is_date() || is_author() ) {
global $wp_query;
$wp_query->set_404(); //imposta la pagina come 404 non trovato
}
Questo codice reindirizza qualsiasi pagina di archivio per categoria, data o autore a un errore 404 (che richiama il template 404 del tuo tema). Potresti voler cercare qualcosa di simile nel tuo tema (supponendo che tu non l'abbia già scoperto).

Nel mio caso non era il tema ma piuttosto questo plugin https://wordpress.org/plugins/smart-archive-page-remove installato da qualcuno. La tua risposta è stata comunque molto utile per individuare il problema

Ho avuto lo stesso problema. Tuttavia, ho aggiunto il seguente codice al file functions.php (gentile concessione: wpbeginner.com) per visualizzare i miei custom post type nelle categorie. WordPress non mostra alcun custom post type nelle categorie finché non aggiungiamo il seguente 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', 'your_post_type_name'); // non dimenticare nav_menu_item per far funzionare i menu!
$query->set('post_type',$post_type);
return $query;
}
}

Vai nel backend di WordPress seguendo questo percorso Impostazioni > Permalink. Assicurati che la base per le categorie sia "category" e per i tag sia "tag" (a meno che tu non abbia impostazioni speciali molto particolari) e premi semplicemente il pulsante "Salva modifiche" anche se nulla è cambiato, cliccando sul pulsante potrebbe far funzionare di nuovo le pagine delle categorie e dei tag.
Non dimenticare di pulire la cache di WordPress per testare.

Ciao Vishal, per favore leggi di nuovo la domanda, ho già provato quella soluzione.


Ho controllato nella console e ho trovato un errore. "Uncaught TypeError: Cannot read property 'getContext' of null" Potresti per favore chiudere correttamente il tag canvas?

Sì, ho notato anche quello, ma il partial del canvas viene chiamato solo nel file frontpage.php e non lo richiamiamo da nessun'altra parte del sito. Inoltre, l'intero DOM HTML non viene caricato ma viene reindirizzato alla pagina 404.php
