Come rimuovere l'archivio di un custom post type
Ho un custom post type chiamato "recipe" con il parametro has_archive
impostato su true. Visitando mysite.com/recipe/ viene mostrato un elenco base di tutte le ricette pubblicate con il titolo della pagina "Recipes". Fin qui tutto bene.
Ora sto cercando di disabilitare quella pagina di archivio delle ricette (mantenendo funzionanti i link delle singole ricette). Il mio primo pensiero è stato provare a impostare has_archive
su false, che sembrava dovesse funzionare. Ma no. L'unica differenza che fa è nel titolo della pagina che per qualche motivo diventa il nome del sito. L'archivio effettivo viene ancora visualizzato.
Qual è il modo migliore per rimuovere completamente quell'archivio? Esiste un parametro di register_post_type
che permetta di ottenere questo risultato oppure è impossibile e si deve ricorrere a un template di pagina personalizzato con un reindirizzamento?
Grazie.
Il parametro has_archive
per register_post_type()
fa esattamente quello che ti aspetti che faccia. Tuttavia, modifica le regole di riscrittura quando viene impostato. Quindi, se lo imposti su false
, dovrai ripulire le regole di riscrittura affinché la visualizzazione dell'indice dell'archivio venga rimossa completamente.

Nota: questa operazione va fatta solo una volta. Un modo semplice per farlo è, ad esempio, visitare Impostazioni->Permalink e ri-salvare le impostazioni correnti. Questo farà il flush delle regole di riscrittura.

Tieni presente che questo non disabilita effettivamente gli archivi; disabilita solo l'URL pulito per accedervi (mysite.com/recipe/
in questo esempio). L'archivio esiste ancora ed è raggiungibile all'indirizzo mysite.com/?post_type=recipe
fintanto che il post type è pubblicamente interrogabile.
