Le pagine del tipo di post personalizzato sono "non trovate"


17

Ho creato due nuovi tipi di Post personalizzati utilizzando il codice che ho usato con successo su altri progetti senza problemi. Il primo si chiama top_charts, l'altro case_studiesed entrambi appaiono correttamente nel menu di amministrazione e posso creare nuovi post.

Purtroppo i nuovi post non vengono visualizzati. Ho appena ricevuto una 404.phprisposta.

Ho creato un messaggio archive-top_charts.phpper vedere se riesco a visualizzare qualcosa, ma vedo una 404.phprisposta "pagina non trovata".

Inizialmente ho chiamato i post personalizzati top-chartse case-studies, ma ho pensato che il trattino potesse essere stato il problema, quindi li ho rinominati per usare un trattino basso. Non ha aiutato

Ho provato a salvare nuovamente i miei permalink, ma non è cambiato nulla. Anche la mia pagina .htaccess assomiglia a quello che ti aspetteresti (e altre pagine funzionano bene). Cos'altro posso controllare?


1
hai usato flush_rewrite_rules (false); nel tipo di registro post? per maggiori dettagli segui questo link nooshu.com/page-not-found-with-custom-post-types
jas

Grazie. Ciò ha corretto il collegamento al post stesso, ma non alla archive-top_charts.phppagina. Strano!
Django Reinhardt,

Basta aggiungerne una parte in risposta che potrebbe aiutare altri utenti e provare a cercare anche l'archivio.
jas,

ho

Risposte:


18

Per correggere post personalizzati non trovati, utilizzare il codice seguente nel proprio functions.php:

flush_rewrite_rules( false );

Dovresti farlo solo come misura temporanea, altrimenti verrà eseguito ad ogni caricamento della pagina.

Per maggiori dettagli, segui questo link

Per quanto riguarda la archive-top_charts.phpmancata visualizzazione, assicurati di averlo al 'has_archive' => truemomento della registrazione del tipo di post.


fantastico hai trovato 'has_archive' :)
jas

27

Non devi modificare il tuo codice php!

Mentre puoi farlo nella funzione che registra il tuo tipo di post personalizzato, come le altre risposte, puoi anche farlo nel menu delle impostazioni, evitando così di toccare il tuo codice php:

Per svuotare le regole o i permalink di riscrittura di WordPress (in genere è necessario eseguire manualmente i nuovi tipi di post personalizzati) dalla Dashboard:

  1. Nel menu principale trova "Impostazioni> Permalink".
  2. Scorri verso il basso se necessario e fai clic su "Salva modifiche".
  3. Le regole di riscrittura e i permalink vengono scaricati.

È così semplice!

immagine della pagina di salvataggio dei permalink riferimento


2
Credo di averne bisogno anche io has_archive, ma è bello sapere che puoi forzare un flush nel menu.
Django Reinhardt,

1
Esiste un modo per salvare le modifiche a (aggiorna) permalink automaticamente anziché andare su Impostazioni> Permalink ogni volta che viene aggiunta una categoria / termine CPT? Come come i non amministratori saranno in grado di farlo se non hanno accesso alle impostazioni? È possibile chiamare un hook quando si aggiunge una nuova categoria per scaricare automaticamente i permalink?
Ryan Coolwebs,

0

Mi rendo conto che questo è in ritardo nel gioco (e potrebbe non essere il problema correlato), ma volevo segnalare ad altri un possibile problema.

Nel mio caso, avevo impostato la riscrittura della mia tassonomia su strumenti e il tipo di contenuto riscriveva sulla stessa cosa. Pertanto, non funzionerebbe mai correttamente in quanto era un conflitto. Sfortunatamente, non esiste alcun rilevamento per una cosa del genere, quindi ho pensato di segnalarlo ad altri.


-1

Nel mio caso mancavano i diritti nella mia cartella di sviluppo, quindi non è stato possibile creare / modificare il file .htaccess.

Quindi il flushing manuale o il salvataggio delle modifiche nei permalink WP non sono stati d'aiuto.

La soluzione era quella di creare il file .htaccess da solo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.