我正在使用此代码在我的wordpress帖子中获取主题
的标签`<?php
$posttags = get_the_tags();
if ($posttags) {
foreach ($posttags as $tag) {
$tagnames[count($tagnames)] = $tag->name;
}
$comma_separated_tagnames = implode(", ", $tagnames);
print_r($comma_separated_tagnames);
}
?>`
问题在于它返回“所有帖子”的标签而不仅仅是个别帖子,我认为问题是如果帖子DOESNT有标签 - 它只是插入标签。
任何人都可以帮助修改这个:
- 仅为帖子返回标签,而非所有标签
- 如果帖子没有标签,则不要返回任何内容
醇>
答案 0 :(得分:2)
<footer class="entry-footer">
<?php //get all tags for the post
$t = wp_get_post_tags($post->ID);
echo "<p class='tags-list'>TAGGED WITH: ";
foreach ($t as $tag) {
$tag_link = get_tag_link($tag->term_id);
echo "<a href='$tag_link' class='used-tag' rel='tag'>".($tag->name)."</a> ";
}
echo "</p>";
?>
</footer>
这就是我所做的,在循环中显示每个帖子的标签。
答案 1 :(得分:0)
答案 2 :(得分:-1)
好的,我希望这可以对某人有所帮助,我在这个问题上停留了大约一个小时 尝试获取我的帖子的标签“以便我可以将其与Twitter分享链接混合使用” the_tags();函数没有用,因为我是在WP循环之外使用它的,get_the_tag_list();对我来说很完美,因为它可以包含post id,
$postid = $wp_query->post->ID;
$posttags = strip_tags( get_the_tag_list( ' ', '', '', "$postid" ) ) ;
^^上面的代码我剥离了html代码以获取没有href链接的标签名称。
这是函数用例:-
get_the_tag_list( string $before = '', string $sep = '', string $after = '', int $id )