需求:单篇页列出同作者的其他文章
博客、新闻站常见布局:文章正文下方放一排“该作者的其他文章”,既增加页内停留时间,也顺手带动老文章流量。在 Bricks 里实现它,最直接的是用 Query Loop + PHP 查询编辑器——用动态数据把“当前文章的作者”和“当前文章的 ID”直接塞进查询参数里,不需要任何自定义函数。
PHP 查询编辑器配置
在单篇模板里添加 Query Loop 元素,开启查询后切到 PHP 查询编辑器(Query 类型选 Custom Query / PHP),粘贴以下参数:
return [
'post_type' => 'post', // 换成你的文章类型
'posts_per_page' => 100, // 大一点的数字,表示"全部"
'no_found_rows' => true,
'author' => {author_meta:ID},
'post__not_in' => [ {post_id} ],
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
];
参数逐行解释
-
post_type:要查询的文章类型,默认post,按需换成 CPT 名称。 -
posts_per_page:取 100 条(“足够大”代表全部)。这是相关文章列表的典型做法,配合前端滚动或截断显示;如果明确只想要 N 篇,直接写 N 即可。 -
no_found_rows:设为true跳过总行数统计。列表不需要分页时能省一次 COUNT 查询,是 WordPress 官方推荐的性能优化项。 -
author:核心。{author_meta:ID}是 Bricks 的动态数据标签,在当前单篇页上下文解析为当前文章作者的 ID,PHP 查询编辑器会把花括号里的动态数据自动解析成实际值。 -
post__not_in:排除当前文章,避免“相关文章”列表里出现正在看的那篇。{post_id}解析为当前文章 ID。 -
update_post_meta_cache/update_post_term_cache:都设为false。纯标题列表不需要元数据和分类缓存,省内存、加快查询。
相关阅读:
动态数据在 PHP 查询里的妙用
这个方案最值得学习的一点:Bricks 的 PHP 查询编辑器支持动态数据解析。author、post__not_in 这些参数值里可以混写 {author_meta:ID}、{post_id}、{term_id} 等标签,Bricks 会在执行查询前把标签替换成当前上下文(单篇页 / 分类页 / 循环项)的真实值。
这意味着:同一个查询模板,放在文章页显示同作者文章,放在分类页自动变成“同分类文章”——只要把参数改成 'cat' => {term_id} 之类即可。一套查询,处处复用。
小结:同作者相关文章用 PHP 查询编辑器是最省事的实现——没有自定义函数、没有钩子,纯查询参数 + 动态数据。记住两个要点:author 用 {author_meta:ID} 动态解析当前作者;post__not_in 用 {post_id} 排除当前文章。想要相关度更高,把 author 换成同分类 + 同标签组合,或者按自定义字段匹配,思路完全一样。
常见误区
这套方案最容易被忽略的一点是:动态数据标签(如 {author_meta:ID}、{post_id})是在 PHP 查询编辑器里解析的,不是在前端 JS 里。所以参数值里能直接混写这些标签,Bricks 执行前会替换成当前上下文真实值——这也是「一套查询处处复用」的关键。常见误区:一是忘了 post__not_in 排除当前文章,列表会把自己也算进去;二是想换「同分类/同标签」相关,只要把 author 参数换成 'cat' => {term_id} 或叠加标签参数即可,不用重写。性能上一次查询搞定,无需自定义函数。
常见问题(FAQ)
Q:为什么不用写自定义函数?
A:因为 PHP 查询编辑器支持动态数据解析,{author_meta:ID}、{post_id} 等标签执行前会被替换成当前值。
Q:列表里出现了当前这篇文章?
A:用 post__not_in 配 {post_id} 排除当前文章即可。
Q:想做「同分类/同标签」相关文章?
A:把 author 参数换成 'cat' => {term_id} 或叠加标签参数,同一套查询改参数即可。
Q:这个查询会拖慢页面吗? A:单次查询,无自定义函数,开销和常规相关文章查询相当。
延伸阅读
- 想要现成外贸独立站模板与建站实战?看 铲子铺 chanzipu 的外贸建站教程(同用 Bricks,从零搭出能收询盘的站)
- 相关阅读:Bricks Query Loop Api Data
延伸阅读
Bricks 嵌套查询循环:按作者分组文章 + 手风琴展开(骨架+钩子补全)
教程:Bricks 嵌套查询循环:按作者分组文章 + 手风琴展开(骨架+钩子补全)——query loop 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialBricks 查询循环只显示促销中(On Sale)的 WooCommerce 产品
教程:Bricks 查询循环只显示促销中(On Sale)的 WooCommerce 产品——woocommerce 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialACF Relationship 字段 + Bricks 查询循环:显示关联文章
教程:ACF Relationship 字段 + Bricks 查询循环:显示关联文章——acf 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialBricks 查询循环按 ACF Repeater 子字段值筛选行
教程:Bricks 查询循环按 ACF Repeater 子字段值筛选行——acf 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
