You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问Taxonomy首个内容条目的自定义字段?

访问Hugo分类首个内容条目的自定义字段

嘿,刚好我之前处理过类似的需求!既然你已经能拿到Taxonomy的基本字段(比如{{.Name}}),那要访问分类下第一个内容条目的自定义字段,其实只需要两步:

  • 先定位到该分类下的第一篇内容
  • 再通过Params来调用对应的自定义字段

具体实现示例

假设你正在处理的是tags分类的模板(其他分类比如categories逻辑完全一样),可以这么写:

{{/* 先获取当前分类下的第一个内容条目,用index取数组的第0位 */}}
{{ $firstPost := index .Pages 0 }}

{{/* 访问基本字段,比如标题 */}}
<h3>分类下第一篇文章:{{ $firstPost.Title }}</h3>

{{/* 访问自定义字段,比如你在文章front matter里定义的`summary`或者`banner_image` */}}
{{ if $firstPost.Params.banner_image }}
  <img src="{{ $firstPost.Params.banner_image }}" alt="文章首图">
{{ end }}

{{ with $firstPost.Params.summary }}
  <p>文章摘要:{{ . }}</p>
{{ end }}

更健壮的写法(避免空分类报错)

如果担心这个分类下可能没有任何内容,直接用index会触发错误,建议加上with判断来做容错处理:

{{ with index .Pages 0 }}
  <h3>第一篇文章:{{ .Title }}</h3>
  {{ with .Params.author }}
    <p>作者:{{ . }}</p>
  {{ end }}
{{ else }}
  <p>这个分类下还没有发布任何内容~</p>
{{ end }}

原理很简单:.Pages是当前Taxonomy下所有内容的集合,index .Pages 0就拿到了第一个元素;而所有在文章front matter里定义的自定义字段,都存在该内容的Params对象里,直接用.Params.字段名就能访问到啦。

内容的提问来源于stack exchange,提问作者wiesson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:30:35