现象:自定义文章类型没有好看的列表页
用 CPT UI 或代码注册了一个自定义内容类型(比如 products,专门放产品案例),但前台访问 /products/ 或它的分类页,出来的还是默认样式——没有缩略图墙,没有筛选,逼死强迫症。原因是:CPT 的归档页也是“归档”,但你没有给它做模板。
根因:CPT 归档也是 Archive 模板,条件指向它即可
自定义内容类型的归档页和文章归档是同一类东西,都用 Archive 模板类型接管。区别只在条件:文章归档的条件是 Post Type Archive → Post,你的 CPT 归档条件就是 Post Type Archive → products(换成你的 CPT slug)。一套 Archive 模板 + 指向 CPT 的条件,列表页就归你管了。
步骤:建并发布 CPT 列表模板
前置:CPT 已注册且有数据。没注册的话,先用 CPT UI 建一个,或参考下面的注册代码:
// functions.php 里注册一个 products 内容类型(示意)
add_action( 'init', function() {
register_post_type( 'products', [
'label' => '产品',
'public' => true,
'has_archive' => true, // 开启归档页 /products/
'supports' => [ 'title', 'editor', 'thumbnail', 'excerpt' ],
'rewrite' => [ 'slug' => 'products' ],
] );
} );
然后:
- 后台 Bricks → Templates → 新建模板,类型选 Archive,起名
Products Archive。 - 条件:Template Conditions → Post Type Archive → products(slug 必须和注册的一致)。
- 进编辑器:页头标题区(动态数据取归档标题),主体拖 Container 打开 Query Loop,查询来源选 Main Query——让它继承当前 CPT 归档的查询(分类筛选、分页参数都在里面)。
- 循环内卡片:封面(
{featured_image})、标题({post_title}链接{post_permalink})、摘要({post_excerpt})。 - 循环外放 Pagination,保存并发布。
卡片与分页 + 常见坑
- 卡片用 Grid 布局做响应式(桌面 3 列 / 平板 2 / 手机 1),图片设固定宽高比,避免参差不齐。
- 没分类页 → 注册 CPT 时没挂分类法,给 CPT 加一个 taxonomy(CPT UI 里 attach taxonomy)再建归档条件。
- 列表页 404 / 打不开 → CPT 注册时
has_archive没开,或没去“固定链接”设置里保存刷新一次。 - 分类筛选失效 → 循环用了自定义 Posts 查询而不是 Main Query,改回来。
- 想在卡片里用 ACF 字段(比如型号、材质)→ 卡片里加 Text 元素绑 ACF 字段动态数据,写法按官方文档补全。
常见误区
- slug 必须一致:模板条件里的 CPT slug(
products)必须和注册时一致,大小写、拼写差一个都对不上。 - 没分类页:注册 CPT 时没挂分类法(taxonomy),前台就没有
/products/category/这类页面;用 CPT UI 给 CPT attach 一个分类法即可。 - 列表 404 / 打不开:
has_archive没开,或注册后没去「固定链接」设置页保存一次刷新重写规则。 - 卡片想放 ACF 字段:卡片里加 Text 元素绑 ACF 动态数据(写法按官方文档补全),型号、材质这类信息就都能上卡片。
小结
CPT 列表 = Archive 模板 + 条件 Post Type Archive 指向 CPT slug + Query Loop 用 Main Query + 卡片 + 分页。注册了 CPT 就顺手建一个,前台列表立刻专业。
产品案例库、型号库这类 CPT 想做得更全(详情页 + 筛选)?联系 Ray Chan,帮你把 CPT 模板体系搭完整。
常见问题(FAQ)
Q:CPT 列表页用什么模板类型? A:Archive 模板,条件设 Post Type Archive → 你的 CPT slug(如 products)。
Q:/products/ 访问 404?
A:注册 CPT 时 has_archive 没开,或注册后没去「固定链接」设置页保存刷新一次。
Q:为什么没有分类页? A:注册 CPT 时没挂分类法,用 CPT UI 给 CPT attach 一个 taxonomy 再建归档条件。
Q:列表用哪种查询来源? A:Main Query(主查询),让它继承当前 CPT 归档的查询,分类筛选和分页参数都在里面。
Q:卡片能显示 ACF 字段吗? A:能,卡片里加 Text 元素绑 ACF 动态数据(写法按官方文档补全)。
-
相关阅读:Bricks Setup Guide 延伸阅读
-
想要现成外贸独立站模板与建站实战?看 铲子铺 chanzipu 的外贸建站教程(同用 Bricks,从零搭出能收询盘的站)
延伸阅读
Bricks 模板编辑看不到内容?用 Populate Content 喂预览数据
教程:做 Archive / Single 模板时画布空白,是因为没设预览数据。用 Template Settings 的 Populate Content 让画布显示真实内容再调样式。
tutorialBricks 模板功能详解——页眉、页脚、文章详情一次做好全站复用
教程:每个页面重复做页眉页脚太蠢。用 Bricks 模板功能做一次、全站套用,配合条件设置精确控制显示位置。
tutorialBricks 制作 404 页面模板
教程:用 Bricks 专门做 404 模板,让死链访客看到友好兜底页,带搜索和返回入口挽回跳出。
tutorialBricks 制作页脚 Footer 模板
教程:用 Bricks 模板做一次 Footer,全站自动套用,版权导航联系一次设计维护零成本。
