我正在使用此代码在主题的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);
}
?>`
问题在于, 它正在返回”所有帖子”的标签, 而不仅仅是单个帖子, 而且我认为问题在于, 如果帖子中没有标签, 则无论如何都会插入标签。
谁能帮忙修改一下, 以便:
它仅返回帖子的标签-并非所有标签如果帖子没有标签, 则不返回任何内容
附注-可以在此处查看wordpress文档
#1
<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>
这就是我所做的, 在循环中为每个帖子显示标签。
#2
尝试使用:
<?php the_tags(); ?>
在”循环”内部。
功能参考
#3
好的, 我希望这可以对某人有所帮助, 我在这个问题上停留了大约一个小时, 试图获取我的帖子的标签”以便我可以将其与Twitter共享链接混合使用”函数没有用, 因为我在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 )
评论前必须登录!
注册