2

我正在使用此代码在我的 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);
}
?>`

问题是它正在返回“所有帖子”的标签,而不仅仅是单个帖子,我认为问题是如果帖子没有标签 - 它只是插入标签。

任何人都可以帮助修改这个:

  1. 它仅返回帖子的标签 - 不是所有标签
  2. 如果帖子没有标签,则不返回任何内容

PS -可以在这里查看 wordpress 文档

4

3 回答 3

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>&nbsp;";
                    }
                    echo "</p>";
                    ?>
                    </footer>

这就是我所做的,显示循环中每个帖子的标签。

于 2011-07-05T13:49:56.150 回答
-1

尝试使用:

<?php the_tags(); ?>

在“循环”内部。

功能参考

于 2010-03-08T00:42:57.347 回答
-1

好吧,我希望这可以帮助某人,我在这个问题上停留了大约一个小时,试图获取我的帖子的标签“所以我可以将它与 twitter 共享链接” the_tags(); 函数没用,因为我在 WP 循环 get_the_tag_list() 之外使用它;对我来说很完美,因为它可以包含帖子 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 )
于 2019-08-13T18:16:00.297 回答