Errore 404 su Pagine di Categorie e Tag

2 feb 2018, 08:41:37
Visualizzazioni: 30K
Voti: 8

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:

  1. Aggiornamento della Struttura Permalink.
  2. Applicazione della Base per Categorie e Tag.
  3. Cambio del tema a twentyseventeen nel quale tutto funzionava correttamente
  4. 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?

6
Commenti

questo ha a che fare con il tuo tema o i tuoi plugin. È improbabile che qualcuno qui possa semplicemente indovinare cosa non va. Devi effettivamente fare il debug di ciò che accade nei tuoi template di tag/categorie e capire perché avviene il reindirizzamento (se si tratta di un reindirizzamento e non di un semplice caricamento).

Mark Kaplun Mark Kaplun
2 feb 2018 08:56:21

Ciao Mark, ho disabilitato anche tutti i plugin, inoltre funziona se cambio il tema o rimuovo il file 404.php. Ma se rimuovo il file 404 mostra un errore nel titolo di WordPress ma mostra tutti i blog correlati per categoria o tag. Ecco perché è strano, non riesco a capire come risolverlo dato che ho bisogno del file 404.php nel mio tema

Vatsh Patel Vatsh Patel
2 feb 2018 09:29:46

quindi è un problema con il tuo tema, senza vedere il suo codice sarà difficile capire la causa

Mark Kaplun Mark Kaplun
2 feb 2018 09:31:09

Tutto il codice nell'header e nel footer richiama funzioni di base di WordPress come wp_head, wp_footer e wp_nav_menu. Non vengono chiamate funzioni extra. Inoltre, secondo il codex di WordPress, dovrebbe utilizzare il file template category.php, quindi potrebbe essere un problema con WordPress 4.9 dato che ho aggiornato WordPress subito dopo l'installazione.

Vatsh Patel Vatsh Patel
2 feb 2018 09:35:21

Vedi il template 404 perché le richieste risultano in un 404. Se 404.php non è presente, allora utilizza come fallback il template index.php. Stai visitando un tag o una categoria che contiene post? Se sì, allora hai del codice da qualche parte nel tuo tema che sta modificando la query principale, risultando in nessun post restituito.

Milo Milo
3 feb 2018 06:12:44

Grazie per il suggerimento Milo, ora esaminerò ogni file nel mio tema con attenzione per risolvere questo problema, dato che c'è sicuramente qualche problema con il mio codice o la struttura del tema.

Vatsh Patel Vatsh Patel
3 feb 2018 06:57:39
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 4
1

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).

20 mar 2020 20:13:46
Commenti

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

Vinay Vinay
10 ago 2020 15:13:22
1

per favore imposta i permalink

impostazione dei permalink in WordPress

poi dopo controlla negli URL di categoria e tag

2 feb 2018 09:03:15
Commenti

Ciao Dharmishtha, per favore rileggi la domanda, l'ho già provato

Vatsh Patel Vatsh Patel
2 feb 2018 09:27:28
0

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;
    }
}
3 nov 2019 23:09:29
7
-2

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.

2 feb 2018 08:59:30
Commenti

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

Vatsh Patel Vatsh Patel
2 feb 2018 09:28:07

Puoi condividere il tuo sito web così posso verificarlo?

vishalprajapati13 vishalprajapati13
2 feb 2018 09:39:15

macrisondev.com.au

Vatsh Patel Vatsh Patel
2 feb 2018 09:40:07

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?

vishalprajapati13 vishalprajapati13
2 feb 2018 10:00:13

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

Vatsh Patel Vatsh Patel
2 feb 2018 10:01:47

Potresti inviarmi le credenziali di wp-admin via email?

vishalprajapati13 vishalprajapati13
2 feb 2018 10:11:01

Scusa amico, non posso farlo ma posso mostrarti il codice. Fammi sapere cosa vuoi vedere

Vatsh Patel Vatsh Patel
2 feb 2018 10:11:46
Mostra i restanti 2 commenti