È successo perché non è così che funzionano i modelli in WordPress. Non crei un file specifico per ogni pagina del tuo sito web. Crei le pagine, quindi assegni loro modelli e lascia che WordPress capisca come accedere e creare accessi a quelle pagine. Cercare di accedere direttamente a uno di quei file produrrà un 404 perché WordPress a causa del fatto che una pagina (in wp land) con quel nome non esiste.
Il fatto che l'abbia fatto funziona quando hai provato ad andare direttamente in index.php
è perché , nella gerarchia dei modelli
, index.php
è l'ultimo file che WP cerca durante la ricerca di un modello da cui visualizzare la tua pagina. Poiché questo file è un must in ogni tema, è stato trovato e quindi nessun 404.
C'è qualcosa chiamato permalinks che ti consente di creare URL amichevoli al tuo sito senza modificare alcun nome nei file modello. Sarebbe impossibile se i tuoi URL fossero allegati direttamente ai nomi dei file.
Il Manuale dei temi di WordPress contiene un articolo piuttosto accurato su modelli di pagina e il codice può darti alcuni suggerimenti su come iniziare con loro. Smashing Magazine ha un articolo straordinario, scritto da Nick Schäferhoff, che fornisce istruzioni dettagliate su come creare un modello di pagina.
In poche parole, e tratto dal tema WordPress Twentyfourteen, un modello di pagina funziona in questo modo
<?php
/**
* Template Name: Full Width Page
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="main-content" class="main-content">
<?php
if ( is_front_page() && twentyfourteen_has_featured_posts() ) {
// Include the featured content template.
get_template_part( 'featured-content' );
}
?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
// Start the Loop.
while ( have_posts() ) : the_post();
// Include the page content template.
get_template_part( 'content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile;
?>
</div><!-- #content -->
</div><!-- #primary -->
</div><!-- #main-content -->
<?php
get_sidebar();
get_footer();
È interessante notare che la parte del commento Template Name: Full Width Page
rende questo modello globale, il che significa che è possibile accedervi ovunque all'interno del tuo sito (dai un'occhiata ai documenti per maggiori dettagli sulla gerarchia). Una volta che hai qualcosa del genere sul tuo modello, crea una pagina e quindi assegna il tuo modello ad essa. Dovresti essere d'oro!
MODIFICA:
Ancora in tempo, controlla questa incredibile infografica
che mostra come funziona la creazione di modelli in WP land e come ogni pagina alla fine viene visualizzata su index.php
, se non viene trovato nessun altro file modello.