站内搜索 React,挂了自定义分类的文章一条都不出现,同样标题的普通文章能搜到,搜索页显示 0 条结果。日志里能对上时间点,这种反而好排。

搜索只匹配标题、正文和摘要,分类关系不参与模糊条件。分类法没设公开时,连归档页都不会生成,更不会进搜索。这一点先确认清楚,后面就不用反复试。

add_action("pre_get_posts", function ($q) {
    if ($q->is_search && !is_admin()) { $q->set("tax_query", [["taxonomy" => "genre", "field" => "slug", "terms" => $q->get("s")]]); }
});

这次卡住的地方就在「自定义分类未入搜索」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。

日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

处理上按这个顺序:在搜索主查询里附上分类条件;或把分类名也拼进关键词 用过滤器扩展;确认分类法已经公开。

结果对不对很好判断,搜索该关键词能返回挂了该分类的文章,结果数不再为 0。

作者 9823189