按价格区间筛完,结果为零,列表区域整个空白,下面直接是页脚,用户以为页面没加载出来,反复刷新了三次。日志里能对上时间点,这种反而好排。
列表模板只在有结果的分支里输出内容,没有结果的 else 分支被省掉了,容器高度为零。筛选条件也没有回显,用户不知道自己选了什么。这一点先确认清楚,后面就不用反复试。
<?php if ( have_posts() ) : ?> <!-- 文章列表 --> <?php else : ?> <p class='empty'>没有符合条件的文章,试试放宽筛选。</p> <?php endif; ?>
「空结果页提示」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
处理上按这个顺序:模板里补上无结果分支,给一句明确提示,并把当前筛选条件列出来;放一个清除筛选的链接,指向不带参数的列表页,用户能一键退回;空状态容器给一个最小高度,别让页脚顶上来,页面看着才不像坏了。
结果对不对很好判断,筛一个不存在的组合,页面显示提示文字和清除按钮,页脚不再顶到导航下面。
