Ich konvertiere eine HTML-Vorlage in ein WordPress-Design und habe Probleme, die Post-Tags in der Datei functions.php anzuzeigen. Was ich tun möchte, ist, den folgenden Code in die Funktionsdatei mit dem HTML-Code einzufügen. Ich habe es jetzt ein paar Tage lang versucht und war bereits im Codex, aber nichts, was ich versuche, funktioniert.
<div class="tags">
<a href="#" rel="tag">tag 1</a> <a href="#" rel="tag">tag 2</a> <a href="#" rel="tag">tag 3</a> <a href="#" rel="tag">tag 4</a>
</div>
Kann mir bitte jemand dabei helfen?
Hier ist eine Möglichkeit, Post-Tags nach dem Inhalt einzelner Posts hinzuzufügen, indem Sie in einer benutzerdefinierten Funktion aus Ihrer Funktionsdatei the_content
filter verwenden. Verwendet the_tags
function tags_after_single_post_content($content) {
if( is_singular('post') && is_main_query() ) {
$tags = the_tags('<div class="entry-meta">Tagged with: ',' • ','</div><br />');
$content .= $content . $tags;
}
return $content;
}
add_filter( 'the_content', 'tags_after_single_post_content' );
Ergebnis:
Richtiger Code:
function tags_after_single_post_content($content) {
$posttags = get_the_tags();
if ($posttags) {
$array = [];
foreach($posttags as $tag) {
$array[] = '<a href="/tag/' . $tag->slug . '/">' . $tag->name . '</a>';
}
$content .= 'Tags: ' . implode(', ', $array) . '<br>';
}
return $content;
}
add_filter( 'the_content', 'tags_after_single_post_content' );
Grund diese Antwort ist falsch, weil the_tags is innerhalb von The Loop verwendet werden sollte und the_tags nichts zurückgeben, so dass anderer Code nichts tut. In dieser Antwort get_the_tags geben Sie ein Array von Tag-Instanzen zurück, damit wir sie an den Inhalt anhängen können.