Le pagine dei Custom Post Type risultano "non trovate"

16 set 2015, 16:03:38
Visualizzazioni: 63.5K
Voti: 29

Ho creato due nuovi Custom Post Type utilizzando un codice che ho già usato con successo in altri progetti senza problemi. Il primo si chiama top_charts, l'altro case_studies, ed entrambi appaiono correttamente nel menu di amministrazione e posso creare nuovi post.

Purtroppo i nuovi post non vengono visualizzati. Ricevo solo una risposta 404.php.

Ho creato un file archive-top_charts.php per vedere se riesco a far apparire qualcosa, ma vedo una risposta "pagina non trovata" dal 404.php.

Inizialmente avevo nominato i custom post top-charts e case-studies, ma ho pensato che il trattino potesse essere il problema, quindi li ho rinominati utilizzando il trattino basso. Non ha risolto il problema.

Ho provato a salvare nuovamente i Permalinks, ma non è cambiato nulla. Anche la mia pagina .htaccess sembra corretta (e le altre pagine funzionano correttamente). Cos'altro posso controllare?

4
Commenti

hai usato flush_rewrite_rules( false ); nel register post type? per maggiori dettagli segui questo link http://nooshu.com/page-not-found-with-custom-post-types

jas jas
16 set 2015 16:09:17

Grazie. Questo ha risolto il link al post stesso, ma non la pagina archive-top_charts.php. Strano!

Django Reinhardt Django Reinhardt
16 set 2015 16:15:09

Aggiungo solo parte della risposta che potrebbe aiutare altri utenti e provo a cercare anche l'archivio.

jas jas
16 set 2015 16:18:23

ho trovato la semplice risposta a questo bug su un altro post di stack: Pagina del Permalink del Custom Post Type Non Trovata

dnll dnll
31 lug 2017 14:21:06
Tutte le risposte alla domanda 5
2
44

Non devi modificare il tuo codice PHP!

Anche se puoi farlo nella funzione che registra il tuo custom post type, come suggeriscono altre risposte, puoi anche farlo direttamente dal menu delle impostazioni, evitando così di toccare il codice PHP:

Per ripulire le regole di riscrittura (rewrite rules) o i permalink di WordPress (operazione che solitamente va fatta manualmente per i nuovi custom post type) dal Pannello di Controllo:

  1. Nel menu principale vai su "Impostazioni > Permalink".
  2. Scorri in basso se necessario e clicca "Salva modifiche".
  3. Le regole di riscrittura e i permalink verranno aggiornati.

È davvero semplice!

Immagine della pagina di salvataggio permalink riferimento

6 gen 2017 20:23:34
Commenti

Credo mi servisse anche has_archive, ma è buono sapere che puoi forzare un flush tramite il menu.

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

Esiste un modo per salvare automaticamente le modifiche (aggiornare) i permalink invece di dover andare ogni volta in Impostazioni > Permalink quando viene aggiunta una categoria/termine per un CPT? Ad esempio, come potrà fare un utente non-admin se non ha accesso alle impostazioni? È possibile chiamare un hook quando si aggiunge una nuova categoria per eseguire automaticamente il flush dei permalink?

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

Per risolvere il problema dei post personalizzati non trovati, utilizza il seguente codice nel tuo file functions.php:

flush_rewrite_rules( false );

Dovresti usare questo codice solo come misura temporanea, altrimenti verrà eseguito ad ogni caricamento di pagina.

Per maggiori dettagli, segui questo link

Per quanto riguarda il file archive-top_charts.php che non appare, assicurati di avere 'has_archive' => true quando registri il tuo tipo di post.

16 set 2015 16:18:27
Commenti

ottimo che tu abbia trovato 'has_archive' :)

jas jas
16 set 2015 16:33:10

perché funziona ancora? e perché non è un bug di WordPress?

Cerveser Cerveser
4 set 2020 21:09:00
0

Mi rendo conto che è un po' tardi (e potrebbe non essere il problema correlato), ma volevo segnalare agli altri un possibile problema.

Nel mio caso, avevo impostato il rewrite della tassonomia su "tools" e il rewrite del tipo di contenuto sulla stessa cosa. Di conseguenza, non funzionava mai correttamente perché c'era un conflitto. Sfortunatamente, non c'è alcun rilevamento per questo tipo di situazione, quindi ho pensato di segnalarlo agli altri.

25 mag 2019 04:45:07
0

Ho appena aggiunto questa riga per le regole di riscrittura, questo era il motivo per me. Dopo aver commentato o rimosso si è risolto, ma puoi anche impostarlo a true.

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

Nel mio caso mancavano i permessi nella cartella di sviluppo, quindi il file .htaccess non poteva essere creato e/o modificato.

Per questo motivo, il flush manuale o il salvataggio delle modifiche nei Permalink di WordPress non risolvevano il problema.

La soluzione è stata creare manualmente il file .htaccess da solo.

4 gen 2020 14:47:09
Commenti

Seguo il metodo di @David Salcer, ho creato un file htaccess e poi funziona.

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