我有一个带有标准搜索选项的wordpress网站。在搜索结果页面上,我需要提供一个选择字段,该字段允许用户显示12、24、36或所有结果。看起来很简单,但是我在使用URL字符串时遇到了麻烦。
我的代码将当前查询字符串分配给一个变量,然后将其传递到选择字段并将per_page附加到该变量。很好问题是每次我更改选择字段时,都会将per_page附加到URL的末尾。因此,如果我选择12,然后将其更改为24,则我的URL变成/?s = search-term&per_page = 12&per_page = 24
我的问题是,如何获取它来代替URL中的per_page而不是附加到其上?
非常感谢您的帮助
<?php $search_string = $_SERVER['QUERY_STRING']; ?>
Show<select onchange="location = this.options[this.selectedIndex].value;">
<option value="">Select</option>
<option value="?<?php echo $search_string . '&per_page=12';?>">12</option>
<option value="?<?php echo $search_string . '&per_page=24';?>">24</option>
<option value="?<?php echo $search_string . '&per_page=36';?>">36</option>
<option value="?<?php echo $search_string . '&per_page=-1';?>">All</option>
</select>
答案 0 :(得分:0)
这会将其从查询字符串中删除,然后再在每个选项上打印它。
$search_string = preg_replace('#&?per_page=([\d]+)&?#', '', $search_string);