
相关文章查询需要取得当前主文章的正确ID,再把它纳入排除条件。嵌套循环中“当前文章”可能已经变成列表项,所以要区分主页面对象与循环对象,并检查查询条件是否存在互相冲突。
先确认排除的是哪个对象
在文章详情页,主文章ID与正在遍历的推荐文章ID不是同一个概念。记录模板及相关查询执行位置,避免在循环内部才读取已被改变的当前对象。若列表出现在非文章页面,还需定义此时是否应该排除任何内容。
使用查询实际支持的参数
WP_Query文档提供post__not_in,并要求正确的ID数组;逗号拼接的字符串不等同于整数数组。文档也说明不要在同一查询中同时使用post__in与post__not_in。页面构建器是否暴露对应控制项,要按其实际功能核实。

保留原有主题相关规则
排除当前文章之后,还应保留内容类型、分类范围、发布状态和合理排序。不要为了排除一项而改成查询全站文章,或把草稿和受保护内容混入推荐。若原列表使用指定文章集合,先计算有效集合,再按照同一规则显示。
检查数量不足和空结果情况
同类文章较少时,排除后可能不满预设数量,应允许合理少项或明确回退规则。不要靠重复文章填满卡片。测试不同分类及只有一篇内容的场景,确认标题、图片链接与实际推荐内容一致,缓存不会把另一页的排除结果复用过来。
关键区别

主文章ID:当前详情对象;不要被嵌套循环替换。
排除数组:明确不显示的ID;不能用逗号串代替。
空结果:缺少合适候选;不应重复填充。
怎样确认处理到位
当前文章不会推荐自身,其他筛选条件保留,少项和空结果处理自然,不同详情页的推荐缓存互不串用。
容易误判的边界
本篇不假定所有Query Loop或构建器界面都有排除按钮;需要定制时按实际查询上下文实施并回归。
