无法在Wordpress模板中获取get_the_tags()

时间:2009-05-19 03:27:32

标签: wordpress wordpress-theming

我正在使用此代码在我的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有标签 - 它只是插入标签。

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

  
      
  1. 仅为帖子返回标签,而非所有标签
  2.   
  3. 如果帖子没有标签,则不要返回任何内容
  4.   

P.S - Can check out here for the wordpress docs

3 个答案:

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

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

答案 1 :(得分:0)

尝试使用:

<?php the_tags(); ?>

在'Loop'内。

Function Reference

答案 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 )