Appearance
Kapitel 6: Seiten- & Beitrags-Templates
6.1 Seiten-Template (page.php)
Einfachste page.php
php
<?php get_header(); ?>
<main id="primary" class="site-main">
<?php
while (have_posts()) :
the_post();
get_template_part('template-parts/content', 'page');
endwhile;
?>
</main>
<?php get_footer(); ?>content-page.php erstellen
Erstellen Sie template-parts/content-page.php:
php
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title('<h1 class="entry-title">', '</h1>'); ?>
</header>
<?php if (has_post_thumbnail()) : ?>
<div class="post-thumbnail">
<?php the_post_thumbnail('large'); ?>
</div>
<?php endif; ?>
<div class="entry-content">
<?php
the_content();
wp_link_pages(array(
'before' => '<div class="page-links">' . __('Seiten:', 'mein-theme'),
'after' => '</div>',
));
?>
</div>
<?php if (comments_open() || get_comments_number()) : ?>
<div class="comments-area">
<?php comments_template(); ?>
</div>
<?php endif; ?>
</article>6.2 Beitrags-Template (single.php)
single.php erstellen
php
<?php get_header(); ?>
<main id="primary" class="site-main">
<?php
while (have_posts()) :
the_post();
get_template_part('template-parts/content', 'single');
// Beitrags-Navigation
the_post_navigation(array(
'prev_text' => '<span class="nav-subtitle">' . __('Vorheriger Beitrag', 'mein-theme') . '</span> <span class="nav-title">%title</span>',
'next_text' => '<span class="nav-subtitle">' . __('Nächster Beitrag', 'mein-theme') . '</span> <span class="nav-title">%title</span>',
));
endwhile;
?>
</main>
<?php get_sidebar(); ?>
<?php get_footer(); ?>content-single.php erstellen
php
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title('<h1 class="entry-title">', '</h1>'); ?>
<div class="entry-meta">
<span class="posted-on">
<?php echo get_the_date(); ?>
</span>
<span class="byline">
von <?php the_author(); ?>
</span>
</div>
</header>
<?php if (has_post_thumbnail()) : ?>
<div class="post-thumbnail">
<?php the_post_thumbnail('large'); ?>
</div>
<?php endif; ?>
<div class="entry-content">
<?php the_content(); ?>
</div>
<footer class="entry-footer">
<?php the_category(', '); ?>
<?php the_tags(' | Tags: ', ', ', ''); ?>
</footer>
<?php if (comments_open() || get_comments_number()) : ?>
<div class="comments-area">
<?php comments_template(); ?>
</div>
<?php endif; ?>
</article>6.3 Benutzerdefinierte Seitentemplates
Erstellen eines benutzerdefinierten Templates
Erstellen Sie page-custom.php:
php
<?php
/**
* Template Name: Benutzerdefiniertes Seitentemplate
* Template Post Type: page
*/
get_header();
?>
<main id="primary" class="site-main custom-template">
<div class="custom-hero">
<h1>Willkommen auf meiner benutzerdefinierten Seite!</h1>
</div>
<?php
while (have_posts()) :
the_post();
?>
<div class="entry-content">
<?php the_content(); ?>
</div>
<?php
endwhile;
?>
</main>
<?php get_footer(); ?>Verwendung:
- Gehen Sie zu Seiten → Neue Seite
- Wählen Sie rechts "Benutzerdefiniertes Seitentemplate"
- Veröffentlichen Sie die Seite
6.4 Template-Hierarchie
WordPress sucht Templates in dieser Reihenfolge:
Für Seiten (page.php):
1. page-{slug}.php (z.B. page-über-uns.php)
2. page-{id}.php (z.B. page-42.php)
3. page.php (Fallback)
4. singular.php (Fallback)
5. index.php (Letzter Fallback)Für Beiträge (single.php):
1. single-{post-type}.php (z.B. single-portfolio.php)
2. single.php (Fallback)
3. singular.php (Fallback)
4. index.php (Letzter Fallback)Für Kategorien (archive.php):
1. category-{slug}.php (z.B. category-tutorials.php)
2. category-{id}.php (z.B. category-5.php)
3. category.php (Fallback)
4. archive.php (Fallback)
5. index.php (Letzter Fallback)📝 Übung 6: Templates erstellen
Ziel: Erstellen Sie page.php, single.php und ein benutzerdefiniertes Template.
Schritte:
- Erstellen Sie
page.phpmit Loop - Erstellen Sie
single.phpmit Beitragsnavigation - Erstellen Sie ein benutzerdefiniertes Template für die Startseite
- Testen Sie die Templates
✅ Zusammenfassung
In diesem Kapitel haben Sie gelernt:
- ✅
page.phpfür statische Seiten zu erstellen - ✅
single.phpfür einzelne Beiträge zu erstellen - ✅ Benutzerdefinierte Seitentemplates zu erstellen
- ✅ Die Template-Hierarchie zu verstehen
Nächstes Kapitel: Wir lernen Sidebar und Widgets anzupassen.
