web-dev-qa-db-fra.com

Comment afficher les balises post

Je convertis un modèle HTML en un thème wordpress et je ne parviens pas à afficher les balises post dans le fichier functions.php. Ce que je voudrais faire, c'est ajouter le code suivant dans le fichier de fonctions avec le code HTML. Cela fait quelques jours que j'essaie et je suis déjà allé au codex, mais rien de ce que j'essaye ne fonctionne.

<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>

Quelqu'un peut-il s'il vous plaît aider avec cela?

2
user1181153

Voici un moyen d’ajouter des étiquettes de publication après le contenu de publications uniques en utilisant uniquement le filtre the_content dans une fonction personnalisée de votre fichier de fonctions. Utilise 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' );

Résultat:

enter image description here

1
Brad Dalton

Code correct:

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

La raison this answer est fausse car the_tags is doit être utilisée dans The Loop et the_tags ne renvoient rien, donc les autres codes ne font rien. Dans cette réponse get_the_tags retourne un tableau d'instances de balises afin que nous puissions les ajouter au contenu.

0
hlcs