Das ist passiert, weil Templates in WordPress nicht so funktionieren. Sie erstellen keine spezifische Datei für jede Seite Ihrer Website. Sie erstellen Seiten und weisen ihnen dann Vorlagen zu und lassen WordPress herausfinden, wie Sie auf diese Seiten zugreifen und Zugriffe darauf erstellen können. Der Versuch, direkt auf eine dieser Dateien zuzugreifen, führt zu einem 404-Fehler, weil WordPress aufgrund der Tatsache, dass eine Seite (in wp land) mit diesem Namen existiert nicht.
Die Tatsache, dass es tat funktionieren, wenn Sie versucht haben, direkt in index.php
zu gehen weil , in der Template-Hierarchie
, index.php
ist die letzte Datei, nach der WP sucht, wenn es nach einer Vorlage sucht, aus der Ihre Seite angezeigt werden soll. Da diese Datei in jedem Theme ein Muss ist, wurde sie gefunden und somit keine 404er.
Es gibt etwas namens Permalinks Dadurch können Sie benutzerfreundliche URLs zu Ihrer Website erstellen, ohne Namen in Ihren Vorlagendateien zu ändern. Das wäre unmöglich, wenn Ihre URLs direkt an die Dateinamen angehängt würden.
WordPress Theme Handbook hat einen ziemlich netten Artikel über Seitenvorlagen , und den Codex kann Ihnen einige Hinweise geben, wie Sie damit beginnen können. Smashing Magazine hat einen erstaunlichen Artikel, geschrieben von Nick Schäferhoff, der detaillierte Anweisungen zum Erstellen einer Seitenvorlage gibt.
Kurz gesagt und dem WordPress-Theme Twentyfourteen entnommen, funktioniert eine Seitenvorlage ungefähr so
<?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();
Interessanterweise der Kommentarteil Template Name: Full Width Page
macht diese Vorlage global, was bedeutet, dass überall auf Ihrer Website darauf zugegriffen werden kann (sehen Sie sich die Dokumentation an, um weitere Details zur Hierarchie zu erhalten). Sobald Sie so etwas in Ihrer Vorlage haben, erstellen Sie eine Seite und weisen Sie ihr dann Ihre Vorlage zu. Du solltest golden sein!
BEARBEITEN:
Schauen Sie sich noch rechtzeitig diese fantastische Infografik
an das zeigt, wie Templating im WP-Land funktioniert und wie jede Seite schließlich in index.php
gerendert wird , wenn keine andere Vorlagendatei gefunden wird.