【问题标题】:Adding url parameters in Wordpress search在 Wordpress 搜索中添加 url 参数
【发布时间】:2013-08-13 07:34:48
【问题描述】:

我正在自定义 WordPress 中的搜索表单,但我似乎无法在表单中添加其他参数。下面是我的表格

<form id="searchform" action="/">
            <div class="row">
                    <input type="input" name="searchvalue" class="searchinput" placeholder="Search..">
            </div>
            <div class="row">
                    <label>Province</label>
                    <select name="province" id="province" class="filterpostsbyprovince">
<option value="0" selected="selected">Select Province</option>

</select>
            </div>


            <div class="row">
                    <input type="submit" value="SEARCH" style="cursor: pointer">

            </div>
            <input type="hidden" name="filtersearch" value="1">
            <input type="hidden" name="s" value="search">               
    </form>

根据上面的表格,我的搜索查询应该类似于 ?s=search&amp;filtersearch=1&amp;province=""&amp;searchvalue="" 但是 WordPress 将 s=search 传递到搜索结果页面。我在我的函数文件中添加了过滤器搜索,但这似乎没有帮助

 function filter_add_query_vars($query_vars) {   
      $query_vars[] = 'filtersearch'; 
      return $query_vars;
    }
   add_filter( 'query_vars', 'filter_add_query_vars' ); 

我尝试删除永久链接,但这没有帮助。谁能帮帮我?

【问题讨论】:

    标签: wordpress url search


    【解决方案1】:

    不是一个确切的答案,但您可能希望考虑使用 $_GET 变量,因为您是如何构建它的。

    您希望您的永久链接看起来像这样(注意引号已被删除):

    ?s=search&filtersearch=1&province=Example&searchvalue=Another-Example
    

    要获取省的值,您可以在 PHP 中使用它:

    $province = $_GET['province']
    

    然后您应该能够在函数中使用它来过滤您的搜索。

    【讨论】:

    • 感谢您的回答。我正在创建一个表格,所以我不能使用永久链接,我正在从表格的下拉列表中获取省份值。问题是 Wordpress 在构建页面之前会自动删除它无法识别的变量,因此 `?s=search&filtersearch=1&province=Example&searchvalue=Another-Example` 最终会变成 ?s=search 您应该在插件中添加新变量或在函数文件中(参见上面的 filter_add_query_vars ),但这对我不起作用。我最终不得不将变量直接添加到 wordpress 查询字符串中
    猜你喜欢
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多