Appearance
Kapitel 5: WordPress-Template-Tags
5.1 Basis-Tags: Website-Titel, Beschreibung, Links
bloginfo() - Website-Informationen abrufen
php
<?php bloginfo($show); ?>Häufig verwendete Parameter:
| Parameter | Rückgabewert | Beispiel |
|---|---|---|
name | Website-Titel | Mein WordPress-Blog |
description | Website-Untertitel | Tipps und Tricks |
charset | Zeichenkodierung | UTF-8 |
language | Sprachcode | de-DE |
stylesheet_url | URL zur style.css | https://.../style.css |
template_url | URL zum Theme-Verzeichnis | https://.../wp-content/themes/mein-theme |
home | Startseiten-URL | https://example.com |
Beispiel:
php
<title><?php bloginfo('name'); ?> | <?php bloginfo('description'); ?></title>
<meta charset="<?php bloginfo('charset'); ?>">home_url() - Startseiten-URL
php
<a href="<?php echo home_url('/'); ?>">Startseite</a>get_stylesheet_uri() - URL zur style.css
php
<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>">5.2 Beitragsbezogene Tags
⚠️ Wichtig: Diese Tags müssen innerhalb der Loop verwendet werden!
the_title() - Beitragstitel
php
<?php the_title(); ?>
<?php the_title('<h2>', '</h2>'); ?>Mit Link zur Beitragsseite:
php
<h2>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>the_content() - Beitragsinhalt
php
<div class="entry-content">
<?php the_content(); ?>
</div>the_excerpt() - Beitragsauszug
php
<div class="entry-excerpt">
<?php the_excerpt(); ?>
</div>Auszug-Länge ändern (in functions.php):
php
function mein_theme_excerpt_length($length) {
return 30; // 30 Wörter
}
add_filter('excerpt_length', 'mein_theme_excerpt_length');the_permalink() - Beitrags-URL
php
<a href="<?php the_permalink(); ?>">Beitrag lesen</a>the_date() / get_the_date() - Veröffentlichungsdatum
php
<time datetime="<?php echo get_the_date('c'); ?>">
<?php the_date(); ?>
</time>Datumsformat anpassen:
php
<?php the_date('d.m.Y'); ?> <!-- 26.05.2024 -->
<?php the_date('j. F Y'); ?> <!-- 26. Mai 2024 -->the_author() - Autorname
php
<span class="author">Von <?php the_author(); ?></span>the_category() - Kategorien
php
<p>Kategorien: <?php the_category(', '); ?></p>the_tags() - Schlagworte
php
<p>Schlagworte: <?php the_tags('', ', ', ''); ?></p>comments_number() - Kommentaranzahl
php
<p><?php comments_number('Keine Kommentare', '1 Kommentar', '% Kommentare'); ?></p>5.3 Navigationsmenü-Tags
wp_nav_menu() - Navigationsmenü anzeigen
php
<?php
wp_nav_menu(array(
'theme_location' => 'primary',
'menu_id' => 'primary-menu',
'menu_class' => 'nav-menu',
'container' => 'nav',
'container_class' => 'main-navigation',
'depth' => 2,
));
?>⚠️ Wichtig: theme_location muss in functions.php registriert sein!
Registrierung in functions.php:
php
function mein_theme_setup() {
register_nav_menus(array(
'primary' => __('Hauptmenü', 'mein-theme'),
'footer' => __('Footer-Menü', 'mein-theme'),
));
}
add_action('after_setup_theme', 'mein_theme_setup');5.4 Sidebar-Tags
dynamic_sidebar() - Sidebar anzeigen
php
<aside id="secondary" class="widget-area">
<?php if (is_active_sidebar('sidebar-1')) : ?>
<?php dynamic_sidebar('sidebar-1'); ?>
<?php endif; ?>
</aside>⚠️ Wichtig: Sidebar muss in functions.php registriert sein!
Registrierung in functions.php:
php
function mein_theme_widgets_init() {
register_sidebar(array(
'name' => __('Sidebar', 'mein-theme'),
'id' => 'sidebar-1',
'description' => __('Hier Widgets hinzufügen.', 'mein-theme'),
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
}
add_action('widgets_init', 'mein_theme_widgets_init');5.5 Tag-Praxis: index.php modifizieren
Vollständige index.php mit allen Tags
php
<?php get_header(); ?>
<main id="primary" class="site-main">
<div class="container">
<?php if (have_posts()) : ?>
<header class="page-header">
<h1 class="page-title">Blog</h1>
</header>
<div class="posts-container">
<?php while (have_posts()) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<h2 class="entry-title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>
<div class="entry-meta">
<span class="posted-on">
<time datetime="<?php echo get_the_date('c'); ?>">
<?php the_date(); ?>
</time>
</span>
<span class="byline">
von <?php the_author(); ?>
</span>
</div>
</header>
<?php if (has_post_thumbnail()) : ?>
<div class="post-thumbnail">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail('medium'); ?>
</a>
</div>
<?php endif; ?>
<div class="entry-content">
<?php the_excerpt(); ?>
</div>
<footer class="entry-footer">
<span class="cat-links">
<?php the_category(', '); ?>
</span>
<span class="tags-links">
<?php the_tags('Tags: ', ', ', ''); ?>
</span>
</footer>
</article>
<?php endwhile; ?>
</div>
<?php
the_posts_pagination(array(
'mid_size' => 2,
'prev_text' => '← Zurück',
'next_text' => 'Weiter →',
));
?>
<?php else : ?>
<p>Keine Beiträge gefunden.</p>
<?php endif; ?>
</div>
</main>
<?php get_footer(); ?>✅ Zusammenfassung
In diesem Kapitel haben Sie gelernt:
- ✅ Basis-Tags für Website-Informationen (
bloginfo(),home_url()) - ✅ Beitragsbezogene Tags (
the_title(),the_content(), etc.) - ✅ Navigationsmenü-Tags (
wp_nav_menu()) - ✅ Sidebar-Tags (
dynamic_sidebar()) - ✅ Eine vollständige
index.phpmit allen Tags zu erstellen
Nächstes Kapitel: Wir lernen Seiten- und Beitrags-Templates kennen.
