|

WordPress: Meta-Daten/ Tags unter Beitragstitel anzeigen (Listen & Einzel-Seite)

Diesmal möchte ich in den Listenansichten – als auch auf Einzelseiten – unter der Überschrift bestimmte Meta-Angaben deaktivieren oder hinzufügen. Hinzugefügt werden die Tags des Beitrages. Angaben zum Autor und den Kommentaren werden hingegen ausgeblendet.

Viele Themes bieten derartige Funktionen im Customizer an, doch eben nicht alle. In welcher Datei muss ich die Veränderungen vornehmen? In meinem Premium-Theme „MH Themes“ lautet die Datei „mh-custom-functions.php„, bei dir sicher ohne „mh-„.

In Listen-Ansichten (Archiv, Index)

Datei anpassen: mh-custom-functions.php

Soll das Ergebnis wie in dem folgenden Screenshot aussehen (ohne die nachträglich eingezeichneten blauen Rechtecke zur Markierung der Veränderungen) …

… musst du die Datei „mh-custom-functions.php“ verändern, anpassen

/***** Post Meta *****/

if (!function_exists('mh_magazine_post_meta')) {
	function mh_magazine_post_meta() {
		$mh_magazine_options = mh_magazine_theme_options();
		if ($mh_magazine_options['post_meta_date'] === 'enable' || $mh_magazine_options['post_meta_author'] === 'enable' && in_the_loop() || $mh_magazine_options['post_meta_cat'] === 'enable' && in_the_loop() && is_singular() || $mh_magazine_options['post_meta_comments'] === 'enable') {
			echo '<div class="mh-meta entry-meta">' . "\n";
				if ($mh_magazine_options['post_meta_date'] === 'enable') {
					echo '<span class="entry-meta-date updated"><i class="fa fa-clock-o"></i><a href="' . esc_url(get_month_link(get_the_time('Y'), get_the_time('m'))) . '">' . get_the_date() . '</a></span>' . "\n";
				}
				if ($mh_magazine_options['post_meta_author'] === 'enable' && in_the_loop()) {
					echo '<span class="entry-meta-author author vcard"><i class="fa fa-user"></i><a class="fn" href="' . esc_url(get_author_posts_url(get_the_author_meta('ID'))) . '">' . esc_html(get_the_author()) . '</a></span>' . "\n";
				}
				if ($mh_magazine_options['post_meta_cat'] === 'enable' && in_the_loop()) {
					echo '<span class="entry-meta-categories"><i class="fa fa-folder-open-o"></i>' . get_the_category_list(', ', '') . '</span>' . "\n";
				}
				if ($mh_magazine_options['post_meta_comments'] === 'enable') {
					echo '<span class="entry-meta-comments"><i class="fa fa-comment-o"></i>';
						mh_magazine_comment_count();
					echo '</span>' . "\n";
				}
				echo '<span>';
					the_tags('<b>',' |  ', '</b>'); // Tags 
				echo '</span>' . "\n";
			echo '</div>' . "\n";
		}
	}
}
add_action('mh_post_header', 'mh_magazine_post_meta');

Ab Zeile 22 (in diesem Codeauszug) sorgen die folgenden 3 Zeilen für die Wiedergabe der Tags unter der Beitrags-Überschrift in den Listenansichten der Startseite, Kategorien-/ Tag-/ und Suchergebnisseiten.

Du könntest jetzt gleich den Autor und die Kommentare aus dem Code herausschneiden, doch das kannst du über den Customizer ausblenden (bei meinem Theme geht das) …

Falls es bei dir nicht geht, kannst Du immer noch im Customizer im Menü „Zusätzliches CSS“ per Styles die Sache erledigen.

Auf der Singleseite

Datei anpassen: single.php

Die single.php ist die Datei, die den gewünschten Beitrag zur Anzeige bringt.

<?php
/**  The template for displaying all single posts. */
get_header(); ?>
<div class="mh-wrapper clearfix">
    <div class="mh-main clearfix">
        <div id="main-content" class="mh-content" role="main" itemprop="mainContentOfPage"><?php
            while (have_posts()) : the_post();
                mh_before_post_content();
                the_tags('<h3>',' |  ', '</h3>'); // Tags über Überschrift
                get_template_part('content', 'single');
                mh_after_post_content();
                comments_template();
            endwhile; ?>
        </div>
    </div>
</div>

Dich interessiert der Inhalt in Zeile 9. Mit dem H3-Tag wird/werden die Tags ausgegeben, getrennt durch so einen Strich „|“. Natürlich kannst Du stattdessen auch ein Leerzeichen, Bindestrich oder sonst was für Zeichen verwenden.