适用程序:Typecho
程序版本:1.2.1
文档作者:Lopwon
作者博客:Lopwon.com
发布页面:Lopwon.com/3464.html
官方演示:Lopwon tagCat
注意:此文档源于作者在博客改造中的一些经验总结,转载还请署名。
敬告:此文档操作涉及程序核心文件的修改,作者不对你在使用中产生的任何问题造成的不良后果,承担责任。
文档说明
Typecho 默认自带有标签云功能,但是,只能按照标签的 mid(或标签量)的正反序输出,当博客中创建了很多标签后,标签云的效果就显得比较混乱,在与网友 Demo Chen 的交流中,发现他对标签云进行了分类输出,一目了然,由此得到启发,于是琢磨出本文档,让标签云可以实现按照自定义的分类输出,还可以隐藏不想显示的标签。
工作原理:分类和标签都具有 order
字段,用于排序,而标签的 order
字段默认被闲置了,所以,把它用起来。
使用方法
A 涉及文件
var/Widget/Metas/Tag/Edit.php
B 改造文件
作用:给标签云新增分类功能(图示)。
打开文件 var/Widget/Metas/Tag/Edit.php 替换两处、新增两处代码:
1. 搜索找到以下代码,有两处:
$tag = $this->request->from('name', 'slug'
2. 将以上两处代码都替换为以下代码:
$tag = $this->request->from('name', 'slug', 'order'
3. 搜索找到以下代码:
$form->addInput($slug);
4. 在以上代码的下一行,添加以下代码:
/** 标签分类 */
$order = new Form\Element\Radio(
'order',
[
'0' => _t('默认'),
'1' => _t('年份'), // 可自定义标签分类名称
'2' => _t('城市'), // 可自定义标签分类名称
'3' => _t('作者'), // 可自定义标签分类名称,以此类推,可以继续新增 4、5、6…… 个标签分类,需与调用输出的数量对应
],
'0',
_t('标签分类'),
_t('此功能用于分类标签, 在特定调用中它会被显示.')
);
$form->addInput($order);
5. 搜索找到以下代码:
$slug->value($meta['slug']);
6. 在以上代码的下一行,添加以下代码:
$order->value($meta['order']);
至此,在后台》管理》标签,已经可以看到(标签分类)的功能选项,点击每个标签的编辑按键(铅笔状图标)后,给对应的标签添加分类,提交即可。
C 调用输出
1. 在需要呈现标签云的文件适当位置,添加以下代码:
<?php
$this->widget('Widget_Metas_Tag_Cloud@tagCat', 'ignoreZeroCount=true')->to($tagCat);
//关键代码已隐藏
?>
另有不需要修改程序核心文件的方法,电邮 lopwon@qq.com 付费改造。
感谢观赏
支持作者:Buy Me a 冰棒
在typechowiki进行了收录,希望可以获得该款插件的源码进行发布
https://www.typecho.wiki/typecho-plugin-tagcat.html
已发送。
好的,收到了,那我就不公开了,然后TypechoWiki下载链接就留你这篇文章链接