Webdesign, WordPress Programmierung, Online und Social Media Marketing - Webworker Blog

Untertitel für die WordPress Artikel und RSS Feeds – Subtitle ohne Plugin

subtitle

Vor einiger Zeit schrieb Piet über ein sehr interessantes Plugin, mit welchem man seine Blogartikel mit Untertiteln versehen kann. Aber nicht nur für die Artikel gibt es Untertitel, sondern auch die Option diese in den RSS Feeds mit anzeigen zu lassen. Da ich persönlich für mich ja gerne “ohne Plugins” Lösungen implementiere, gab mir Piet auch gleich den Link zum Artikel von Elektroelch (Seite existiert nicht mehr), auf dem die Implementierung der Untertitel ohne Plugin (via benutzerdefinierten Feldern) beschrieben wurde. Als ich das Ganze aber bei mir anlegen wollte, funktionierte die dort beschriebene PHP Abfrage nicht wirklich.

Also stand mal wieder selber machen auf dem Programm. Ein bisschen eleganter in der Abfrage und Implementierung gelöst, so dass die Untertitel auch nur angezeigt werden wenn sie vorhanden sind und nicht zum Beispiel eine leere CSS Formatierung für Zwischenräume sorgt, die wir dort gar nicht haben wollen.

Damit die Untertitel für die WordPress Artikel und auch für die RSS Feeds möglich sind, greife ich an 3 Stellen ein: Zwei Funktionen in der function.php des Themes sorgen für die Implementierung der Subtitle. Eine CSS Formatierung in der style.css des Themes sorgt für die richtige Darstellung. Und last but not least rufe ich die Funktion an beliebigen Stellen in meinen Theme Dateien auf (z.B. in der single.php).

Benutzerdefiniertes Feld für die Untertitel anlegen

Als allererstes muss das benutzerdefinierte Feld Untertitel angelegt werden. Dazu einfach in einen Artikel gehen und im Bereich Benutzerdefinierte Felder das neue Feld Untertitel hinzufügen:
benutzerdefiniertes Feld anlegen

Subtitle Funktionen für die functions.php im WordPress Theme

In die functions.php des WordPress Themes (bitte nicht in die WordPress Core Dateien) kommen die folgenden beiden Funktionen, wobei eine für die Untertitel der Artikel und eine für die RSS Feeds ist:

//Untertitel für die Artikel
function my_subtitle() {
 global $id, $post_meta_cache;
	
 if ($my_subt_values = get_post_custom_values('Untertitel')) {
  foreach ($my_subt_values as $key => $value) {
  echo "<div class='subtitle'><h3>$value</h3></div>";
  }
 }
}

//Untertitel für die RSS Feeds
function my_subtitle_feed() {
 global $post;
 $title = get_the_title();
	
 if ($my_subt_values = get_post_custom_values('Untertitel')) {
  foreach ($my_subt_values as $key => $value) {
   $subtitle = esc_html(strip_tags($value));
  }
 }
 if ($subtitle != '') {
  $title .= ' - ' . $subtitle;
 }
 return $title;
}
add_filter('the_title_rss', 'my_subtitle_feed');

CSS Formatierung für die Untertitel

Damit die Untertitel der Artikel auch nach belieben Formatiert werden können, gibt es die Klasse subtitle und den h3 Tag. Diesen in die style.css mit den gewünschten Formatierungen eingeben, z.B.:

.subtitle h3 { 
 font-size:14px; 
 margin-top:3px;  }

Einbau der Untertitel in die Artikel

Am Ende muss die Funktion in den Blogartikeln selbst noch aufgerufen werden. Das geschieht z.B. in der single.php an gewünschter Stelle über den Aufruf folgenden Codes:

<?php if (function_exists('my_subtitle')) { my_subtitle(); } ?>

Wer möchte, kann das Ganze natürlich auch in der index.php, archive.php etc. integrieren.

Nun steht dem Einsatz von Untertiteln in den Artikeln nichts mehr im Wege. Und… sie werden auch in den RSS Feeds angezeigt (direkt an den Titel rangehängt, getrennt mit einem -). Mir persönlich gefällt diese Funktion sehr gut und in einigen meiner WordPress Blogs kommen die Untertitel auch so zum Einsatz.

Lesetipps mit ähnlicher Thematik:
  • Gern verwendete Suchbegriffe:
  • wordpress subtitle
  • wordpress untertitel formatieren
Blogverzeichnis - Blog Verzeichnis bloggerei.de