今天扫了一眼网站主页的侧边栏标签云,就很纳闷,怎么好像一直没有改变过?后台标签有四五百个了,全部显示是放不下的,之前做了显示数量为 20 个的限制,但是标签现在是一成不变呀,就很不科学。
后台查看了标签云标签默认的显示规则是,foreach 循环读取标签数组,到自定义的显示数量个数时结束。而标签数组默认是按照首个字符排序的,符号>数字>字母>中文文字,这样的话,最近更新的一些中文标签永远都没有机会在标签云里面显示了...
**目标:**调整标签云标签的显示规则,即调整标签数组的排序,按照文章引用数量/关联文章数量排序。
**实现:**找到 widget.php (inc/fun/widget.php)文件,在第 870 行左右,找到如下代码:
foreach ($tags as $tag){
if ($max_count > 0 && $count >= $max_count){
break;
}
$link = get_tag_link($tag);
echo "<a href='{$link}' class='badge d-none d-md-inline-block bg-".pk_get_color_tag()." ahfff'>{$tag->name}</a>";
$count++;
}
修改为:
此处含有隐藏内容,请提交评论并审核通过刷新后即可查看!
**备注:**按标签的"count"(文章引用数量)字段值降序排列,根据自定义显示的标签个数截断并生成新的标签数组,然后再修改一下标签显示名称,在标签名称后面加上引用数量,最后标签显示格式形如"源码(9)"。
**效果:**标签云中的标签,按照标签的"总数"(count值,文章引用数量/文章关联数量)排序,被更多文章引用/使用的标签更优先展示。
P1.侧边栏标签云标签按照count值降序排序 Tips: 本文中的代码部分仅对 Puock 主题有效,其他 wordpress 主题可酌情参照处理。