Untertitel werden nun auch in “Seashell” angezeigt

Untertitel anzeigen

Schon blöde, wenn man im alten Theme Untertitel angelegt hat, die im neuen nicht mehr zu sehen sind, oder? Aber auch dafür habe ich nach ein bisschen Herumprobieren eine Lösung gefunden.

Und natürlich stellt “Seashell” mal wieder eine Ausnahme dar, was die Umsetzung betrifft. Vertraut war mir das Einfügen der Ausgabe in meinen anderen Blogs in single.php, index.php und archiv.php des jeweiligen Themes.

Der folgende Code ist für die Umsetzung der Funktion “Untertitel” verantwortlich. Leider kann ich hierzu den ursprünglichen Beitrag nicht mehr verlinken, weil ich ihn bereits seit Urzeiten als Toolbox-Modul im Einsatz habe:

<?php
/*
Module Name: Untertitel
Description: Fügt Untertitel ein [Frontend]
Author: Sergej Müller
Author URI: 
*/

/* Sicherheitsabfrage */
if ( !class_exists('Toolbox') ) {
  die();
}

/* Ab hier kann's los gehen */
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>";
  }
 }
}

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');

Der Ausgabeort

Verantwortlich für die Anzeige der “Zweitüberschrift” in Seashell ist die Datei content.php. Die Zeilen, die für die Umsetzung in Frage kommen, sehen ursprünglich so aus:

<header class="entry-header">
			 	<?php if(is_single()): ?>
			 		<h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>
			 	<?php else: ?>
					<h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
				<?php endif; ?>	
				</header>	

Mit diesem erweiterten Code konnte ich die Ausgabe von Untertiteln erzielen:

<header class="entry-header">
			 	<?php if(is_single()): ?>
			 		<h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>
					<div class="subtitle"><?php if (function_exists('my_subtitle')) { my_subtitle(); } ?></div>
			 	<?php else: ?>
					<h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
					<div class="subtitle"><?php if (function_exists('my_subtitle')) { my_subtitle(); } ?></div>
				<?php endif; ?>	
				</header>

Die geänderte Datei content.php habe ich im Verzeichnis des Child-Themes gespeichert, damit sie bei einem Theme-Update nicht überschrieben wird.

Um den Text ein wenig von der Hauptüberschrift abzuheben, habe ich folgenden Wert in die style.css des Child-Themes hinzugefügt:

.subtitle{color:#5F5F5F}

Das war es schon. :-)

Die Autorin:

Sylvi

Meine Beiträge beinhalten eigene Erfahrungen über Soft- und Hardware, Social Media und die ich als WordPress-Bloggerin und Joomlanerin gesammelt habe. Zudem widme ich mich dem schönen Hobby "Fotografie".

2 Kommentare

  • super Idee, danke Sylvi. Ich hab das Plugin CodeSnippets im Einsatz. Platziere ich dann praktisch deinen Code aus dem ersten Fenster ab Zeile 15 in einen neuen “Snippet” rein, also ist das quasi das, was eigentlich in die functions.php müsste? Steh grad irgendwie auf dem Schlauch …