首页 > 新闻资讯 > 在WordPress中获取指定分类下的全部tag

在WordPress中获取指定分类下的全部tag

6条评论
标签:
更多

直接看代码吧:

<?php
    query_posts('category_name=work');
    if (have_posts()) : while (have_posts()) : the_post();
        $posttags = get_the_tags();
        if ($posttags) {
            foreach($posttags as $tag) {
                $all_tags_arr[] = $tag -> name; //用 $tag 把 $all_tags_arr 变成多维数组,再由array_unique函数进行处理
            }
        }
    endwhile; endif;

    $tags_arr = array_unique($all_tags_arr); //去除重复的tag
    echo '<pre>'.print_r($tags_arr, true).'</pre>'; //输出tag

?>

别忘了把“query_posts('category_name=work');”里的分类名改成你需要的分类名。

* 版权声明:作者WordPress啦! 转载请注明出处。

#1
请问给tags加上该tags的链接该怎么操作呢? 能不能重写一下。
#2
需要有链接的TAG就更容易了,WORDPRESS本来就有这个函数不用像上面这样重写的。就是the_tags();整体可以这样重新写:<?php query_posts('category_name=aciform');    if (have_posts()) : while (have_posts()) : the_post();  the_tags();    endwhile; endif;?>希望对你有帮助
#3
非常感谢您的解答。我试了一下,但是因为会输出太多重复的tag,所以我稍微的更改了一下原本代码,但是感觉太累赘了,不知有更好的方法否?修改后的代码如下: <?php query_posts('cat=1'); if (have_posts()) : while (have_posts()) : the_post(); $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { $all_tags_arr[] = $tag -> name; } } endwhile; endif; $tags_arr = array_unique($all_tags_arr); //去除重复的tag foreach($tags_arr as $key=>$val) { echo ''.print_r($val, true).''; //输出tag } ?> 忘了说了,原代码会输入整个数组,所以我又加了一个foreach来取值。 还有好多问题,如果您有时间的话,能不能向您请教呢? 还请您不吝告知QQ好吗?我的qq:45507280,
#4
你好,关于你说的这个输出重复输出TAG的循环,我问了一位高手朋友,他写了一段更有效的代码,希望对你有帮助: <?php     query_posts('category_name=aciform');      if (have_posts()) :       $all_tags_arr=array();        while (have_posts()) :         the_post();         $posttags = get_the_tags();         if ($posttags) {           foreach($posttags as $tag) {             //print_r($all_tags_arr);            if(in_array($tag->name,$all_tags_arr)){               continue;            }else{              $all_tags_arr[] = $tag->name;             echo "<a href =/?tag=".$tag->name.">".$tag->name."</a>";              //print_r($tag); //输出tag            }           }         }       endwhile;     endif; ?> 他这个只有一次循环,并且可以输出链接的。 这次不能直接用the_tags();了,因为这是针对每篇文章tag做出的输出,每次都不一样的。 如果你还有别的问题的话,可以直接在这里留言,因为公司不能QQ,你懂的。
#5
请问给tags加上该tags的链接该怎么操作呢? 能不能重写一下。
#6
求助: 在分类页面中我需要随机调用该分类下的10个或者20个tag,或者在文章页中调用该分类下10个或者20个tag,这个在网上没找到,要点有1、随机,2、当前分类 望赐教