Ciao @lamorfini,
quando crei un custom post type “musica” non sei obbligato a creare per forza i template single-musica.php e archive-musica.php. Creerai single-musica.php solo se vuoi che i post di tipo “musica” siano visualizzati in modo diverso dal default di WordPress e creerai archive-musica.php solo se vuoi che la pagina di archivio dei post di tipo “musica” sia visualizzata in modo diverso dal default WordPress per le pagine di archivio.
In altre parole i tuoi post di tipo “musica” e la relativa pagina di archivio vengono visualizzati anche se non crei quei due file.
Se decidi comunque di crearli li devi mettere nella cartella radice del tuo tema e WordPress li eseguirà automaticamente quando visualizzi un post di tipo “musica” oppure l’archivio di tutti i post di tipo “musica” rispettivamente.
A questo link trovi la documentazione ufficiale di WordPress sui custom post types, che magari può aiutarti a chiarire i tuoi dubbi: https://codex.wordpress.org/Post_Types
Giancarlo
ok, le vorrei fare.. ma mi spieghi come si fa?.
perché ho digitato http://localhost:83/musica/
ma mi da l’errore 404 pagina non trovata.
Ora leggo i link che mi hai fornito e poi dopo ti faccio sapere.
Ciao @lamorfini,
Prova a impostare i permalinks ( Impostazioni > Permalinks ) a default, salva e poi reimpostali come li avevi prima.
Quando si creano dei post type bisogna effettuare il flush delle rewrite rules. Se leggi a questo documento riguardo a registrare un post type viene fatto un esempio:
add_action( 'init', 'my_cpt_init' );
function my_cpt_init() {
register_post_type( ... );
}
function my_rewrite_flush() {
my_cpt_init();
flush_rewrite_rules();
}
add_action( 'after_switch_theme', 'my_rewrite_flush' );
Salvare nuovamente i permalinks sortisce lo stesso effetto e dovrebbe risolvere il prob 404.
ok, fatto e ha funzionato senza inserire quel codice da te postato.. ho solo reimpostato i permalink e rimesso i miei permalink.
Come mai ho dovuto fare cosi?
Grazie mille.
Ciao @lamorfini,
Il codice non era da usare, come scritto era di esempio. Il perché è che WordPress ha bisogno di ricostruirsi i dati sulla riscrizione delle urls.
Le url non sono nel formato che credi tipo: http://www.miosito.com/mia-pagina ma http://www.miosito.com/index.php?page=ID&….. quindi per renderteli rimembrabili Wp attua una riscrittura. Un nuovo post type non rientra nella lista che in quel momento ha il cms e quindi deve essere aggiornata.
Questo il motivo per il quale si effettua il “flush” delle regole di riscrittura.
Salvare i permalinks è una procedura che effettua proprio questo flushing.