Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅显示唯一的标记_Php_Wordpress - Fatal编程技术网

Php 仅显示唯一的标记

Php 仅显示唯一的标记,php,wordpress,Php,Wordpress,下面显示了基于所有帖子的所有标签名称,这意味着我最终得到了一个重复的列表。如何停止它,使其仅显示唯一的标记 <ul> <?php query_posts('category_name=html'); if (have_posts()) : while (have_posts()) : the_post(); if( get_the_tag_li

下面显示了基于所有帖子的所有标签名称,这意味着我最终得到了一个重复的列表。如何停止它,使其仅显示唯一的标记

   <ul>
            <?php
                query_posts('category_name=html');
                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>

在与rob.m澄清后,我们提出了以下解决方案:

<ul>
    <?php
        query_posts('category_name=html');
        if (have_posts()) {

            $tags = array();

            while(have_posts()) {
                the_post();
                if(get_the_tag_list()) {
                    foreach(wp_get_post_tags(get_the_ID()) as $tag) {
                        $allTags[$tag->term_id] = $tag;
                    }
                }
            }

            foreach($tags as $tag) {
                echo '<li><input class="checkTag" type="checkbox" value="' . $tag->name . '" />' . '&nbsp;&nbsp;' . $tag->name . '</li>';
            }
        }
        wp_reset_query();
    ?>
</ul>

您正在为每篇文章寻找标签-这就是重复的原因。两种可能的解决方案:循环标记而不是帖子,或者将标记放入数组(而不是echo),然后使用
foreach
打印它们。(通过使用标签作为键防止重复)您是否有机会提供一个我可以测试的示例,以防我接受?我在这里真是步履蹒跚。谢谢,但是我没有在上面的代码中创建数组。您是否有机会提供一个示例进行测试?Thanksit不返回数组,而是返回字符串HTML@davidkonrad是的,准确地说是在“
  • 标记1
  • 标记2
  • ”?@GeorgeBrighton不走运,您的答案仍然输出类别中使用的所有标记,而不仅仅是唯一的标记