如何在Wordpress中显示随机标签列表?

Ian*_*ten 0 tags random wordpress

我使用以下代码尝试显示随机标签列表:

<?php wp_tag_cloud('smallest=10&largest=10&number=5&format=list&order=rand&orderby=count'); ?>
Run Code Online (Sandbox Code Playgroud)

这确实显示了5个标签的列表,但是顺序不是随机的,并且在我重新加载页面时不会改变。

如何实现这一目标有帮助吗?

非常感谢。

Has*_*len 5

今晚我一直在寻找一个答案,因为在Google搜索结果中这个结果很高,我想我会在遇到其他问题时为他人发布解决方案。

我的要求是在每次页面刷新时显示随机标签,并具有排除某些标签的能力。出于我的目的,我将其放在functions.php中,因为我讨厌使用函数使模板文件混乱。

函数 -将其插入您的functions.php文件中

function jr_get_tags_but_exclude() {
    $args = array('exclude' => '36 17'); // see notes below
        $alltags = get_tags( $args );
        shuffle($alltags);
        $count=0;
        if ($alltags) {
            foreach($alltags as $tag) {
                $count++;
                echo '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
        if( $count >19 ) break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

通话 -将其插入您的模板页面

<?php jr_get_tags_but_exclude(); ?>
Run Code Online (Sandbox Code Playgroud)

笔记

  • 要排除标签,您需要标签ID。获取ID的最简单方法是转到posts->标签,然后将鼠标悬停在要排除的标签上。鼠标悬停在时,ID号将显示在浏览器底部的网址栏中&tag_ID=9。

  • 的Wordpress Codex get_tags表示仅将每个标签ID隔开,无需逗号。

  • 对于随机化的结果,rand是不是一种可行的选择或$arg对get_tags,很遗憾。

  • 要更改显示的标签数量,请调整if ( $count >19 )19 = 20个标签,29 = 30等。

  • shuffle($alltags); 随机化是什么

  • $count=0;启动计数器,$count++;对发布的每个标签进行计数,if( $count >19 ) break;结束循环(在这种情况下,发布20个标签之后)。

学分和参考

主要基于这些绅士的解决方案

  1. WordPress的随机标签问题

  2. https://wordpress.stackexchange.com/questions/26112/how-to-limit-and-display-tag

  3. http://wordpress.org/support/topic/php-exclude-tag

用于get_tags的wordpress抄本

http://codex.wordpress.org/Function_Reference/get_tags

在您的模板文件中 -不需要任何功能

<?php
    $args = array('exclude' => '36 17'); // see notes below
        $alltags = get_tags( $args );
        shuffle($alltags);
        $count=0;
        if ($alltags) {
            foreach($alltags as $tag) {
                $count++;
                echo '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
        if( $count >19 ) break;
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

请以发现的任何错误答复,以便我进行编辑。我半睡着了,甚至在清醒的时候仍在使用PHP。