我设置了一个多选列表,如下所示:
<select id="cuisine-select" name="_sft_post_tag" multiple="multiple" tabindex="-1" class="select2-hidden-accessible" aria-hidden="true">
<option value="banting">Banting</option>
<option value="pasta">Pasta</option>
<option value="pizza">Pizza</option>
<option value="seafood">Seafood</option>
<option value="vegan">Vegan</option>
<option value="vegetarian">Vegetarian</option>
</select>
这允许用户选择多种菜肴进行搜索。
提交表单后,URL 将设置多个同名的 GET 变量,每个变量都具有选定的值之一,如下所示:
/restaurant/?_sft_category=saturday&_sft_post_tag=pizza&_sft_post_tag=seafood
我需要它来预先选择结果页面上的标签选项。
我目前遇到的问题是 URL 的结构。我要求 URL 如下所示:
/restaurant/?_sft_category=saturday&_sft_post_tag=pizza,seafood
换句话说,我要求one即 GET 变量_sft_post_tag并且所有选定的选项必须出现在以逗号分隔的字符串中。
搜索表单是名为 Search & Filter Pro 的 Wordpress 插件的一部分,并使用逗号分隔的字符串来预选择选项。主页的搜索表单使用 Select2 插件。
我尝试过使用name="_sft_post_tag[]"
然后将数组内爆成逗号分隔的字符串,如下所示implode(",", $_GET['_sft_post_tag'])
.
这也行不通。目前它只会预先填充最后一个值_sft_post_tag