我在我的索引页面上创建了一个用户表单,允许网站访问者根据最近的帖子或评分最高的帖子重新排序我的帖子循环顺序。表单工作得很好,问题是:post循环默认按最近的加载,但在他们选择/提交最高评级顺序后,页面刷新,下拉列表显示“最近的帖子”的默认选项值,而此时它应该显示“最高评级帖子”的当前选项值。这让读者感到困惑,因为他们似乎仍在看到最新的帖子,而实际上他们看到的却是最高评分的帖子。
如何强制下拉列表保留在所选选项上,而不是在刷新后默认返回到第一个选项?
这是我的代码:
<?php $sort= $_GET[\'sort\']; if($sort == "date") { $order= "orderby=date"; } if($sort == "highest_rated") { $order= "orderby=meta_value_num"; } ?>
<form class="formindexfilter" action="#ifilter" method="get">
<input type="hidden" name="r_orderby" value="desc">
<select name="r_sortby" id="sorting">
<option value="date" <?php if ($sort == "date") { echo \' selected="selected"\'; } ?> >Most Recent Posts</option>
<option value="highest_rated" <?php if ($sort == "highest_rated"){ echo \' selected="selected"\'; } ?> >Highest Rated Posts</option>
</select>
<input type="submit" value="Submit" />
</form>
我做错了什么?我只想让下拉列表始终准确地描述循环结果。任何帮助都将不胜感激。几周来我一直在想这个问题。