You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MediaWiki是否存在标记指定分类的整个子分类树为隐藏的功能或扩展?

MediaWiki是否存在标记指定分类的整个子分类树为隐藏的功能或扩展?

嘿,这个问题问得很实在!原生MediaWiki里的__HIDDENCAT__确实只能单独隐藏单个分类,没法自动递归处理它的所有子分类——就像你发现的那样,手动给每个子分类加这个标记的话,原有的分类树层级就消失了,所有子分类都会变成「隐藏分类」下的扁平条目。

不过有几种方案能解决这个需求:

  • 使用专门的扩展
    • 比如HiddenCategoryTree扩展,它就是为递归隐藏分类树的场景设计的。你只需要指定一个父分类,它会自动将该分类下的所有子分类(包括多级嵌套的)都标记为隐藏,同时还能保留原有的分类树结构,不会变成扁平状态。
    • 另外,BatchEdit扩展也能帮上忙,它支持批量编辑分类页面。你可以先获取目标分类的所有子分类列表,然后批量给它们添加__HIDDENCAT__标记,虽然这种方式还是会让子分类变成扁平结构,但至少不用手动逐个操作。
  • 自定义脚本实现
    如果不想安装扩展,你可以写个简单的脚本,利用MediaWiki的API来遍历目标分类的所有子分类,自动给每个分类页面加上__HIDDENCAT__标记。比如用Python或者PHP写个小工具,调用API获取子分类列表后批量执行编辑操作即可。

还有个小提醒:如果只是想在前端展示时隐藏整个分类树,而非让分类本身变成隐藏状态,那可以结合CategoryTree扩展和自定义CSS/Lua脚本,让指定的分类树在页面上不显示。不过这种方式只是视觉上的隐藏,后台仍然能看到这些分类,得根据你的实际需求来选择方案。

备注:内容来源于stack exchange,提问作者Surak

火山引擎 最新活动