【问题标题】:WordPress search filter by custom fieldWordPress按自定义字段搜索过滤器
【发布时间】:2014-04-30 22:46:50
【问题描述】:

有谁知道如何更改 WordPress 搜索以按查询变量进行过滤?查询变量是自定义字段。例如,我有一个自定义帖子类型“books”,我希望用户能够根据“book_author”自定义字段进行搜索。

点击搜索按钮后的网址如下所示:

?search_filter=book_author&s=tolkien&post_type=book

任何帮助将不胜感激。

【问题讨论】:

    标签: php wordpress custom-fields advanced-custom-fields


    【解决方案1】:

    您将希望在搜索页面上的 PHP 代码中执行类似的操作。

    $args = array(
                  'post_type' => 'book',
                  'order' => 'asc',
                  'meta_query' => array(
                      array(
                          'key' => $_GET['search_filter'],
                          'value' => $_GET['s'],
                          'compare' => 'IN',
                          )
                      )
                  );
    $loop = new WP_Query( $args );
    

    当然,您可能希望保护代码免受 SQL 注入等攻击,但这为您提供了一个起点来创建一个可以执行您想要的操作的页面。

    我建议阅读更多关于 WP_Query 的内容,尤其是关于 order by 和参数的部分。

    【讨论】:

    • 非常感谢!我最终选择了另一条路线,但这绝对让我朝着正确的方向前进。我还没有完全测试 WP_Query,但我会阅读它以供将来参考。
    • 绝对!在阅读了 WP_Query 之后,您的方法运行良好。再次感谢!
    猜你喜欢
    • 2018-02-13
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多