实现emlog侧边栏标签组件的标签随机显示

2023-05-10 19:51:09 浏览数 (1)

emlog侧边栏标签组件调用的标签根据标签的tid升序排列显示,即是先创建的标签排在前面,这种情况对于侧边栏调用了所有标签的网站不会有什么影响,但是如果设置了标签显示数量的话,那么侧边栏调用的标签就会总是先创建的几个,显示不够友好,这时可以考虑把标签随机显示。

操作步骤:

1、编辑当前使用的emlog模板的module.php文件,找到代码:

代码语言:javascript复制
1$tag_cache = $CACHE->readCache('tags');

shuffle($tag_cache);
$tag_cache = array_slice($tag_cache,0,10);

其中第二行是控制标签数量,如果显示所有标签,则删除第二行代码。

代码语言:javascript复制
<?php 
function widget_tag($title){
    global $CACHE;
    $tag_cache = $CACHE->readCache('tags');
    shuffle($tag_cache);
    $tag_cache = array_slice($tag_cache,0,10); //10是要调用的标签数量    
?>
    <section class="widget divTags">
        <h3><?php echo $title; ?></h3>
    <ul>
    <?php foreach($tag_cache as $value): ?>
        <li><a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['tagname']; ?>"><?php echo $value['tagname']; ?></a></li>
    <?php endforeach; ?>
    </ul>
    </section>
<?php 
}
?>

知识扩展:

shuffle(array)函数的作用是把数组中的元素按随机顺序重新排序,上述代码中的$tag_cache便是网站标签组成的一个数组。

0 人点赞