it-swarm.com.de

So zeigen Sie Post-Tags an

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?

2
user1181153

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:

enter image description here

1
Brad Dalton

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.

0
hlcs