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>
誰もがこれを手伝ってくれる?
これは、単一の投稿のコンテンツの後に、自分の関数ファイルのカスタム関数で 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' );
結果:
正しいコード:
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_tags は The Loop の中で使われるべきであり、the_tagsは何も返さないので他のコードは何もしないので、理由 this answerは間違っています。この答えで get_the_tags タグインスタンスの配列を返すので、それらをコンテンツに追加できます。