Template-Tag

Template-Tags sind spezielle PHP-Funktionen in WordPress, die dynamische Inhalte aus der Datenbank abrufen und auf Ihrer Website anzeigen. Sie bilden das Rückgrat der WordPress-Theme-Entwicklung und ermöglichen es, Inhalte wie Beiträge, Seiten, Metadaten und Menüs flexibel in Templates einzubinden. Für Entwickler und Website-Betreiber sind Template-Tags unverzichtbare Werkzeuge zur Gestaltung individueller WordPress-Themes.

Was sind Template-Tags in WordPress?

Inhaltsverzeichnis

Template-Tags sind vordefinierte PHP-Funktionen, die WordPress-Entwicklern zur Verfügung stellt, um dynamische Inhalte in Theme-Dateien einzubinden. Diese Funktionen greifen auf die WordPress-Datenbank zu und geben Informationen wie Beitragstitel, Inhalte, Kategorien, Autoreninformationen oder Navigationselemente aus. Seit der ersten WordPress-Version im Jahr 2003 bilden Template-Tags das Fundament der Theme-Entwicklung und ermöglichen die Trennung von Design und Inhalt.

Im Gegensatz zu statischem HTML-Code passen sich Template-Tags automatisch an die jeweiligen Inhalte an. Wenn Sie beispielsweise the_title() in Ihrer Template-Datei verwenden, zeigt WordPress automatisch den Titel des aktuellen Beitrags oder der aktuellen Seite an. Diese Flexibilität macht WordPress zu einem leistungsstarken Content-Management-System.

150+ Verfügbare Template-Tags
100% PHP-basiert
2003 Seit WordPress-Start

Grundlegende Kategorien von Template-Tags

WordPress organisiert Template-Tags in verschiedene Kategorien, je nach ihrer Funktionalität und ihrem Einsatzzweck. Diese Systematik erleichtert Entwicklern die Orientierung und hilft bei der effizienten Theme-Entwicklung.

Beitrags-Template-Tags

Diese Template-Tags beziehen sich auf einzelne Beiträge und deren Eigenschaften. Sie werden hauptsächlich in der Loop verwendet und geben Informationen über den aktuellen Beitrag aus.

the_title()

Gibt den Titel des aktuellen Beitrags oder der Seite aus. Dieser Tag ist einer der meistverwendeten in WordPress-Themes und erscheint typischerweise in H1- oder H2-Überschriften.

the_content()

Zeigt den vollständigen Inhalt eines Beitrags an. Dieser Tag verarbeitet automatisch Shortcodes und wendet alle Content-Filter an, die von Plugins registriert wurden.

the_excerpt()

Gibt eine gekürzte Version des Beitragsinhalts aus, standardmäßig die ersten 55 Wörter. Ideal für Übersichtsseiten und Archivansichten.

the_permalink()

Liefert die URL zum aktuellen Beitrag. Dieser Tag wird typischerweise in Linkstrukturen verwendet und respektiert die in WordPress eingestellte Permalink-Struktur.

the_post_thumbnail()

Zeigt das Beitragsbild an, falls eines definiert wurde. Unterstützt verschiedene Bildgrößen und responsive Bildausgabe mit srcset-Attributen.

the_time()

Gibt das Veröffentlichungsdatum oder die Uhrzeit des Beitrags aus. Das Format kann individuell angepasst werden und unterstützt alle PHP-Datumsfunktionen.

<article>
  <h2><?php the_title(); ?></h2>
  <div class="meta">
    Veröffentlicht am <?php the_time('j. F Y'); ?>
  </div>
  <?php the_post_thumbnail('large'); ?>
  <div class="content">
    <?php the_content(); ?>
  </div>
</article>

Autoren-Template-Tags

Diese Tags liefern Informationen über den Autor eines Beitrags. Sie sind besonders wichtig für Magazine-Websites und Blogs mit mehreren Autoren.

Wichtige Autoren-Tags

the_author(): Zeigt den Anzeigenamen des Beitragsautors an. Der Name wird aus den Benutzereinstellungen im WordPress-Backend übernommen.

the_author_posts_link(): Erstellt einen anklickbaren Link zur Autorenarchivseite, die alle Beiträge des jeweiligen Autors auflistet.

get_the_author_meta(): Ermöglicht den Zugriff auf spezifische Autorenmetadaten wie E-Mail-Adresse, Biografie, Website oder soziale Medien-Profile.

Kategorie- und Taxonomie-Tags

Diese Template-Tags verwalten die Ausgabe von Kategorien, Schlagwörtern und benutzerdefinierten Taxonomien. Sie helfen bei der Organisation und Navigation von Inhalten.

the_category()

Listet alle Kategorien auf, denen ein Beitrag zugeordnet ist. Der Separator zwischen den Kategorien kann individuell definiert werden.

the_tags()

Zeigt die Schlagwörter eines Beitrags an. Unterstützt benutzerdefinierte Trennzeichen und Wrapper-Elemente für die Formatierung.

get_the_term_list()

Gibt eine formatierte Liste von Begriffen einer beliebigen Taxonomie zurück. Besonders nützlich für benutzerdefinierte Taxonomien.

Navigations-Template-Tags

Diese Tags steuern die Navigation auf Ihrer Website und erstellen Menüs, Paginierung und interne Verlinkungen.

<nav class="main-navigation">
  <?php wp_nav_menu( array(
    'theme_location' => 'primary',
    'menu_class' => 'primary-menu',
    'container' => 'ul'
  ) ); ?>
</nav>

<div class="pagination">
  <?php the_posts_pagination( array(
    'mid_size' => 2,
    'prev_text' => '« Zurück',
    'next_text' => 'Weiter »'
  ) ); ?>
</div>

Die WordPress-Loop und Template-Tags

Die WordPress-Loop ist das zentrale Konzept für die Anzeige von Beitragsinhalten. Sie durchläuft alle verfügbaren Beiträge und macht deren Daten für Template-Tags zugänglich. Ohne die Loop funktionieren die meisten beitragsbezogenen Template-Tags nicht korrekt.

Anatomie der WordPress-Loop

Die Loop beginnt mit einer Überprüfung, ob Beiträge vorhanden sind, durchläuft dann jeden Beitrag und bereitet die Daten für die Ausgabe vor. Template-Tags innerhalb der Loop beziehen sich automatisch auf den aktuellen Beitrag der Iteration.

<?php if ( have_posts() ) : ?>
  <?php while ( have_posts() ) : the_post(); ?>

    <article id="post-<?php the_ID(); ?>">
      <h2><a href="<?php the_permalink(); ?>">
        <?php the_title(); ?>
      </a></h2>

      <div class="entry-meta">
        Von <?php the_author(); ?>
        am <?php the_date(); ?>
        in <?php the_category(', '); ?>
      </div>

      <?php the_excerpt(); ?>
    </article>

  <?php endwhile; ?>
<?php else : ?>
  <p>Keine Beiträge gefunden.</p>
<?php endif; ?>

Template-Tags außerhalb der Loop

Einige Template-Tags funktionieren auch außerhalb der Loop, benötigen dann aber oft zusätzliche Parameter wie eine Beitrags-ID. Diese Flexibilität ermöglicht komplexere Layouts und benutzerdefinierte Abfragen.

<?php
// Titel eines spezifischen Beitrags außerhalb der Loop
echo get_the_title( 42 );

// Permalink mit Beitrags-ID
echo get_permalink( 42 );

// Autor eines bestimmten Beitrags
echo get_the_author_meta( 'display_name', 5 );
?>

Unterschied zwischen echo- und get-Funktionen

WordPress bietet für viele Template-Tags zwei Varianten: eine mit „the_“ Präfix, die Inhalte direkt ausgibt, und eine mit „get_the_“ Präfix, die Werte zurückgibt, ohne sie auszugeben. Diese Unterscheidung ist wichtig für die flexible Verwendung in verschiedenen Kontexten.

the_-Funktion get_the_-Funktion Verwendung
the_title() get_the_title() Gibt direkt aus vs. gibt Wert zurück
the_content() get_the_content() Zeigt Inhalt vs. speichert in Variable
the_permalink() get_the_permalink() Gibt URL aus vs. ermöglicht Weiterverarbeitung
the_excerpt() get_the_excerpt() Direkte Ausgabe vs. zur Manipulation verfügbar
the_author() get_the_author() Zeigt Namen vs. speichert für Bedingungen
<?php
// Direkte Ausgabe mit the_title()
the_title();

// Wert abrufen und in Variable speichern
$title = get_the_title();
$modified_title = strtoupper($title);
echo $modified_title;

// In Bedingungen verwenden
if ( strlen( get_the_title() ) > 50 ) {
  echo 'Langer Titel';
}
?>

Bedingte Template-Tags

Bedingte Template-Tags, auch Conditional Tags genannt, überprüfen bestimmte Bedingungen und geben boolesche Werte zurück. Sie ermöglichen es, unterschiedliche Inhalte basierend auf dem Kontext anzuzeigen.

Häufig verwendete Conditional Tags

is_home()

Prüft, ob die Hauptblog-Seite angezeigt wird. Gibt true zurück auf der Startseite, die Blogbeiträge zeigt.

is_single()

Überprüft, ob ein einzelner Beitrag angezeigt wird. Kann mit Parameter auf spezifische Beiträge eingeschränkt werden.

is_page()

Testet, ob eine statische Seite angezeigt wird. Unterstützt Seitentitel, Slug oder ID als Parameter.

is_category()

Prüft, ob eine Kategorieseite angezeigt wird. Kann auf spezifische Kategorien durch ID oder Slug eingeschränkt werden.

is_archive()

Gibt true zurück für alle Archivseiten: Kategorien, Tags, Datumsarchive, Autorenarchive und benutzerdefinierte Taxonomien.

is_search()

Überprüft, ob Suchergebnisse angezeigt werden. Nützlich für spezielle Formatierungen auf Suchergebnisseiten.

<?php
// Unterschiedliche Sidebars je nach Seitentyp
if ( is_home() ) {
  get_sidebar( 'home' );
} elseif ( is_single() ) {
  get_sidebar( 'single' );
} elseif ( is_page('kontakt') ) {
  get_sidebar( 'contact' );
} else {
  get_sidebar();
}

// Spezielle Nachricht nur auf Archivseiten
if ( is_archive() ) {
  echo '<div class="archive-notice">Sie befinden sich im Archiv</div>';
}
?>

Erweiterte bedingte Logik

Conditional Tags können kombiniert werden, um komplexe Bedingungen zu erstellen. Dies ermöglicht hochgradig angepasste Theme-Layouts und Funktionalitäten.

<?php
// Kombinierte Bedingungen
if ( is_single() && in_category('news') ) {
  echo '<div class="news-badge">Aktuelle Nachricht</div>';
}

// Prüfen auf mehrere Kategorien
if ( is_category( array('technik', 'wissenschaft', 'innovation') ) ) {
  get_template_part( 'content', 'technical' );
}

// Negation verwenden
if ( !is_front_page() && !is_home() ) {
  // Code für alle Seiten außer Startseite
}
?>

Include-Tags für modulare Themes

Include-Tags laden andere Template-Dateien und fördern die Wiederverwendbarkeit von Code. Sie sind essenziell für die Erstellung modularer, wartbarer WordPress-Themes.

Wichtige Include-Tags

get_header(): Lädt die header.php-Datei. Kann mit Parameter eine alternative Header-Datei laden, z.B. get_header(‚custom‘) lädt header-custom.php.

get_footer(): Bindet die footer.php-Datei ein. Unterstützt ebenfalls alternative Footer-Varianten durch Parameter.

get_sidebar(): Inkludiert die sidebar.php. Ermöglicht mehrere Sidebars für verschiedene Seitenbereiche.

get_template_part(): Das flexibelste Include-Tag, lädt beliebige Template-Teile mit optionalem Slug-Parameter für Varianten.

<?php
// Standard-Header laden
get_header();

// Alternativen Header für Landing Pages
get_header('landing');

// Template-Parts für verschiedene Post-Formate
get_template_part( 'content', get_post_format() );

// Spezifische Content-Teile
get_template_part( 'template-parts/content', 'page' );

// Footer mit Parameter
get_footer('minimal');
?>

Widget- und Sidebar-Tags

Diese Template-Tags verwalten Widget-Bereiche und ermöglichen flexible Seitenlayouts. Sie bilden die Grundlage für das WordPress-Widget-System.

dynamic_sidebar()

Dieser Tag zeigt alle Widgets an, die einem bestimmten Widget-Bereich zugeordnet sind. Gibt false zurück, wenn der Widget-Bereich leer ist, was zur Anzeige von Fallback-Inhalten genutzt werden kann. Widget-Bereiche müssen zuvor in der functions.php registriert werden.

<?php
// In functions.php: Widget-Bereich registrieren
function theme_widgets_init() {
  register_sidebar( array(
    'name' => 'Hauptsidebar',
    'id' => 'sidebar-1',
    'before_widget' => '<div class="widget">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>'
  ) );
}
add_action( 'widgets_init', 'theme_widgets_init' );

// In sidebar.php: Widget-Bereich anzeigen
if ( is_active_sidebar( 'sidebar-1' ) ) {
  dynamic_sidebar( 'sidebar-1' );
} else {
  echo '<p>Keine Widgets definiert</p>';
}
?>

Kommentar-Template-Tags

Diese spezialisierten Tags verwalten die Anzeige und Funktionalität von Kommentaren. Sie sind besonders wichtig für interaktive Blogs und Community-Websites.

comments_template()

Lädt die comments.php-Datei und zeigt alle Kommentare sowie das Kommentarformular an. Verarbeitet automatisch Kommentar-Paginierung.

wp_list_comments()

Generiert eine formatierte Liste aller Kommentare. Unterstützt verschachtelte Kommentare und bietet umfangreiche Anpassungsoptionen.

comment_form()

Erstellt das Kommentarformular mit allen erforderlichen Feldern. Kann durch Arrays individuell angepasst werden.

Custom Fields und Metadaten-Tags

Template-Tags für benutzerdefinierte Felder ermöglichen die Anzeige zusätzlicher Informationen, die über die Standard-WordPress-Felder hinausgehen. Sie sind fundamental für erweiterte Content-Strategien.

<?php
// Einzelnes Custom Field abrufen
$custom_value = get_post_meta( get_the_ID(), 'custom_field_key', true );
echo $custom_value;

// Alle Custom Fields eines Beitrags
$all_meta = get_post_meta( get_the_ID() );
print_r($all_meta);

// Bedingte Anzeige basierend auf Custom Field
if ( get_post_meta( get_the_ID(), 'featured', true ) == 'yes' ) {
  echo '<span class="featured-badge">Empfohlen</span>';
}
?>

Performance-Optimierung bei Template-Tags

Die effiziente Verwendung von Template-Tags beeinflusst die Performance Ihrer WordPress-Website erheblich. Moderne WordPress-Installationen müssen auch bei hohem Traffic schnell laden.

Best Practices für optimale Performance

Caching nutzen: Verwenden Sie Transients-API oder Object-Caching für rechenintensive Template-Tag-Aufrufe, die sich selten ändern.

Unnötige Abfragen vermeiden: Prüfen Sie mit Conditional Tags, ob ein Template-Tag wirklich benötigt wird, bevor Sie ihn aufrufen.

get_-Funktionen bevorzugen: Wenn Sie Werte weiterverarbeiten, verwenden Sie get_-Varianten statt the_-Funktionen, um unnötige Ausgaben zu vermeiden.

Template-Part-Caching: Speichern Sie häufig verwendete Template-Parts im Fragment-Cache, besonders bei komplexen Abfragen.

<?php
// Transient für teure Abfrage verwenden
$popular_posts = get_transient( 'popular_posts' );

if ( false === $popular_posts ) {
  // Aufwändige Abfrage nur wenn Transient abgelaufen
  $popular_posts = new WP_Query( array(
    'meta_key' => 'post_views',
    'orderby' => 'meta_value_num',
    'posts_per_page' => 5
  ) );
  
  // Für 1 Stunde cachen
  set_transient( 'popular_posts', $popular_posts, HOUR_IN_SECONDS );
}
?>

Sicherheitsaspekte bei Template-Tags

Die sichere Verwendung von Template-Tags schützt Ihre Website vor Cross-Site-Scripting (XSS) und anderen Angriffen. WordPress bietet integrierte Funktionen zur Ausgabesicherung.

Wichtige Sicherheitshinweise

Verwenden Sie immer Escaping-Funktionen, wenn Sie Daten ausgeben, besonders bei benutzergenerierten Inhalten. WordPress bietet spezielle Funktionen wie esc_html(), esc_attr(), esc_url() und esc_js() für verschiedene Kontexte.

<?php
// Sichere Ausgabe von Titel in HTML
echo esc_html( get_the_title() );

// Sichere URL-Ausgabe
echo '<a href="' . esc_url( get_permalink() ) . '">Link</a>';

// Sichere Attribut-Ausgabe
echo '<div data-id="' . esc_attr( get_the_ID() ) . '">';

// Sichere JavaScript-Variable
echo '<script>var title = "' . esc_js( get_the_title() ) . '";</script>';

// Sanitierung bei Custom Fields
$custom_text = get_post_meta( get_the_ID(), 'custom_text', true );
echo wp_kses_post( $custom_text ); // Erlaubt nur sichere HTML-Tags
?>

Template-Tags in Block-Themes

Mit der Einführung des Full Site Editing (FSE) in WordPress 5.9 im Jahr 2022 haben sich die Verwendungsmuster von Template-Tags verändert. Block-Themes nutzen HTML-basierte Templates, integrieren aber weiterhin klassische Template-Tags über spezielle Blöcke.

Template-Tags in der Block-Ära

Block-Themes verwenden JSON-basierte theme.json-Dateien und HTML-Templates im templates-Ordner. Klassische Template-Tags werden durch Block-Variationen repräsentiert, können aber in Custom-Blöcken weiterhin verwendet werden. Die Funktion register_block_type() ermöglicht die Integration von PHP-Code und Template-Tags in moderne Block-Strukturen.

Eigene Template-Tags erstellen

Entwickler können eigene Template-Tags definieren, um wiederkehrende Funktionalitäten zu kapseln. Dies fördert die Code-Wiederverwendung und vereinfacht die Theme-Wartung.

<?php
// In functions.php eigene Template-Tags definieren

// Benutzerdefinierter Autor-Info-Box
function custom_author_box() {
  $author_id = get_the_author_meta('ID');
  $author_name = get_the_author();
  $author_bio = get_the_author_meta('description');
  $author_url = get_author_posts_url($author_id);
  
  echo '<div class="author-box">';
  echo '<h4>Über ' . esc_html($author_name) . '</h4>';
  echo '<p>' . esc_html($author_bio) . '</p>';
  echo '<a href="' . esc_url($author_url) . '">Alle Beiträge ansehen</a>';
  echo '</div>';
}

// Geschätzte Lesezeit berechnen
function custom_reading_time() {
  $content = get_post_field('post_content', get_the_ID());
  $word_count = str_word_count(strip_tags($content));
  $reading_time = ceil($word_count / 200);
  
  echo '<span class="reading-time">' . $reading_time . ' Min. Lesezeit</span>';
}

// Social Share Buttons
function custom_social_share() {
  $url = urlencode(get_permalink());
  $title = urlencode(get_the_title());
  
  echo '<div class="social-share">';
  echo '<a href="https://twitter.com/intent/tweet?url=' . $url . '&text=' . $title . '">Twitter</a>';
  echo '<a href="https://www.facebook.com/sharer.php?u=' . $url . '">Facebook</a>';
  echo '</div>';
}
?>

Debugging von Template-Tags

Das Debugging von Template-Tags ist wichtig für die Fehlersuche und Optimierung. WordPress bietet mehrere Tools und Techniken für effektives Debugging.

Debugging-Strategien

WP_DEBUG aktivieren: Setzen Sie in wp-config.php define(‚WP_DEBUG‘, true); um PHP-Fehler und Warnungen anzuzeigen.

Query Monitor Plugin: Installieren Sie dieses Plugin, um Datenbankabfragen, Template-Hierarchie und Performance-Metriken zu analysieren.

var_dump() und print_r(): Nutzen Sie diese PHP-Funktionen, um Variableninhalte zu inspizieren.

error_log(): Schreiben Sie Debug-Informationen in die debug.log-Datei statt sie direkt auszugeben.

<?php
// Debug-Ausgabe für Template-Tags
if ( WP_DEBUG ) {
  echo '<!-- Debug-Info -->';
  echo '<!-- Aktueller Post: ' . get_the_ID() . ' -->';
  echo '<!-- Template: ' . basename(get_page_template()) . ' -->';
}

// Detaillierte Variable-Ausgabe
$post_meta = get_post_meta(get_the_ID());
echo '<pre>';
print_r($post_meta);
echo '</pre>';

// Logging für Produktionsumgebungen
error_log('Beitrags-ID: ' . get_the_ID() . ' - Titel: ' . get_the_title());
?>

Häufige Fehler und deren Vermeidung

Bei der Arbeit mit Template-Tags treten bestimmte Fehler besonders häufig auf. Das Verständnis dieser Probleme hilft, sie von vornherein zu vermeiden.

Template-Tags außerhalb der Loop

Viele Entwickler vergessen, dass beitragsbezogene Template-Tags nur innerhalb der Loop oder mit expliziter Post-ID funktionieren. Verwenden Sie get_-Varianten mit ID-Parameter außerhalb der Loop.

Fehlende Escaping-Funktionen

Die direkte Ausgabe von Daten ohne Escaping ist ein häufiges Sicherheitsrisiko. Gewöhnen Sie sich an, immer esc_html(), esc_url() oder esc_attr() zu verwenden.

Verwechslung von echo und return

Die Verwechslung von the_-Funktionen (geben direkt aus) und get_the_-Funktionen (geben Wert zurück) führt zu unerwarteten Ausgaben oder leeren Stellen.

Übermäßige Datenbankabfragen

Wiederholte Aufrufe derselben Template-Tags in Schleifen verursachen unnötige Datenbankabfragen. Speichern Sie Ergebnisse in Variablen für Mehrfachverwendung.

Template-Tags und Mehrsprachigkeit

Bei mehrsprachigen WordPress-Websites müssen Template-Tags mit Übersetzungsfunktionen kombiniert werden. Dies gewährleistet, dass statische Texte in allen Sprachen korrekt angezeigt werden.

<?php
// Übersetzbarer Text mit Template-Tags
echo '<h2>' . __('Neueste Beiträge', 'textdomain') . '</h2>';

// Übersetzung mit Platzhalter
printf(
  __('Veröffentlicht am %s von %s', 'textdomain'),
  get_the_date(),
  get_the_author()
);

// Pluralisierung
$comment_count = get_comments_number();
printf(
  _n('%s Kommentar', '%s Kommentare', $comment_count, 'textdomain'),
  number_format_i18n($comment_count)
);
?>

Zukunft der Template-Tags

Mit der fortschreitenden Entwicklung von WordPress und dem Full Site Editing verändern sich die Verwendungsmuster von Template-Tags. Dennoch bleiben sie ein fundamentaler Bestandteil der WordPress-Architektur.

Entwicklungstrends

WordPress entwickelt sich zunehmend in Richtung Block-basierter Entwicklung, aber klassische Template-Tags bleiben relevant für Custom-Blocks, Shortcodes und programmatische Content-Manipulation. Die Integration von REST-API-Endpunkten und React-basierten Oberflächen ergänzt, aber ersetzt nicht die Funktionalität von Template-Tags. Für 2024 und darüber hinaus wird erwartet, dass hybride Ansätze dominieren, die sowohl Block-Patterns als auch klassische PHP-Template-Tags nutzen.

Was sind Template-Tags in WordPress?

Template-Tags sind vordefinierte PHP-Funktionen in WordPress, die dynamische Inhalte aus der Datenbank abrufen und in Theme-Dateien anzeigen. Sie ermöglichen die Ausgabe von Beitragstiteln, Inhalten, Metadaten, Navigationsmenüs und anderen WordPress-Elementen. Template-Tags bilden seit 2003 das Fundament der WordPress-Theme-Entwicklung und trennen Design von Inhalt.

Wie unterscheiden sich the_- und get_the_-Funktionen?

Template-Tags mit dem Präfix the_ geben Inhalte direkt aus, während get_the_-Funktionen Werte zurückgeben, ohne sie anzuzeigen. Beispielsweise gibt the_title() den Titel direkt aus, während get_the_title() den Titel als String zurückgibt, den Sie in einer Variable speichern oder weiterverarbeiten können. Get-Funktionen sind flexibler für Bedingungen und Manipulationen.

Wann funktionieren Template-Tags innerhalb und außerhalb der WordPress-Loop?

Die meisten beitragsbezogenen Template-Tags funktionieren nur innerhalb der WordPress-Loop, da sie auf den aktuellen Beitrag der Iteration zugreifen. Außerhalb der Loop benötigen diese Tags typischerweise einen zusätzlichen Parameter wie eine Beitrags-ID. Bedingte Template-Tags und Include-Tags funktionieren hingegen überall im Theme.

Welche Sicherheitsaspekte sind bei Template-Tags wichtig?

Bei der Verwendung von Template-Tags müssen alle ausgegebenen Daten mit Escaping-Funktionen gesichert werden, um Cross-Site-Scripting (XSS) zu verhindern. WordPress bietet esc_html() für HTML-Inhalte, esc_url() für URLs, esc_attr() für HTML-Attribute und esc_js() für JavaScript-Kontext. Dies ist besonders wichtig bei benutzergenerierten Inhalten und Custom Fields.

Wie erstelle ich eigene Template-Tags in WordPress?

Eigene Template-Tags werden als PHP-Funktionen in der functions.php-Datei Ihres Themes definiert. Diese Funktionen können WordPress-Standardfunktionen kombinieren und erweitern, um wiederkehrende Aufgaben zu automatisieren. Eigene Template-Tags sollten Escaping-Funktionen verwenden, klare Namen haben und optional Parameter für Flexibilität akzeptieren. Sie fördern Code-Wiederverwendung und vereinfachen die Theme-Wartung.

Letzte Bearbeitung am Dienstag, 28. Oktober 2025 – 15:05 Uhr von Alex, Webmaster für Google und Bing SEO.

Konnten wir deine Fragen zu Template-Tag beantworten? Lass es uns gerne wissen, falls etwas nicht stimmen sollte. Feedback ist gerne gesehen, auch zum Thema Template-Tag.