web-dev-qa-db-ja.com

投稿タグを表示する方法

HTMLテンプレートをワードプレスのテーマに変換していますが、functions.phpファイル内のpostタグを表示するのに問題があります。私がやりたいことは、HTMLコードを使って関数ファイルに次のコードを追加することです。私は数日前から試しています、そして、私はすでにコーデックスに行ったことがありますが、試しているものは何もしていません。

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

誰もがこれを手伝ってくれる?

2
user1181153

これは、単一の投稿のコンテンツの後に、自分の関数ファイルのカスタム関数で the_content filterのみを使用して投稿タグを追加する方法の1つです。 を使用します - 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' );

結果:

enter image description here

1
Brad Dalton

正しいコード:

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

the_tagsThe Loop の中で使われるべきであり、the_tagsは何も返さないので他のコードは何もしないので、理由 this answerは間違っています。この答えで get_the_tags タグインスタンスの配列を返すので、それらをコンテンツに追加できます。

0
hlcs