在WordPress中显示特定类别的标签

时间:2013-01-06 14:22:39

标签: wordpress tags tag-cloud

我正在使用以下代码尝试显示与“html”类别中的帖子相关联的标记列表

<ul>
    <?php
        query_posts('category_name=bikes');
        if (have_posts()) : while (have_posts()) : the_post();
             if( get_the_tag_list() ){
                echo $posttags = get_the_tag_list('<li>','</li><li>','</li>');
            }
         endwhile; endif; 
         wp_reset_query(); 
    ?>
</ul>

我运行时没有看到任何结果,我已经检查过,并且有很多与该类别中的帖子相关联的标签。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您必须删除$posttags =,因为您不想分配变量但输出它

<ul>
    <?php
        query_posts('category_name=bikes');
        if (have_posts()) : while (have_posts()) : the_post();
           if( get_the_tag_list() ){
              echo get_the_tag_list('<li>','</li><li>','</li>');
           }
        endwhile; endif; 
        wp_reset_query(); 
    ?>
</ul>

答案 1 :(得分:0)

获得您正在寻找的结果的更好方法是根本不使用query_posts。而是使用新查询添加到循环中。如果我的类别被命名为摄影,我会用这个:

<ul>
    <?php $photographyTags = new WP_Query(array('category_name' => 'photography')); ?>

    <?php if($photographyTags->have_posts()) : while($photographyTags->have_posts()) : $photographyTags->the_post(); ?>
    <?php
        if( get_the_tag_list() ){
            echo get_the_tag_list('<li>','</li><li>','</li>');
        }
    ?>
    <?php endwhile; endif; ?>
    <?php wp_reset_postdata(); ?>
</ul>