$q->set("meta_key", "abc_order");
$q->set("orderby", "meta_value_num");
$q->set("order", "ASC");

装了分类排序插件,后台拖拽后前台归档顺序没变,还是按名称排;停用另一个排序插件后反而全部恢复默认。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:分类表没有排序字段,顺序要存在分类的附加数据里,再挂到查询条件上。两个插件各存一份,后加载的把查询条件覆盖掉。

「分类排序自定义」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。

把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

处理上按这个顺序:只保留一个排序插件 先停掉另一个;确认它写入的是分类附加数据 不是站点选项;前台查询按数值排序 并处理没有值的项。

确认没问题再收工,前台分类顺序和后台拖拽顺序一致,刷新不变。

作者 9823189