masonitedoors/searchwp-api-route

为通过SearchWP进行搜索添加WordPress REST API端点。

安装: 977

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 15

类型:wordpress-plugin

1.2.0 2020-01-17 21:00 UTC

This package is auto-updated.

Last update: 2024-09-18 08:20:59 UTC


README

Banner

SearchWP API

为通过SearchWP(提高WordPress搜索有用性和性能的最佳工具)搜索添加WordPress REST API端点。

此插件是由CalderaWP提供的免费插件。它不是SearchWP的官方插件,与SearchWP或美国职业足球联赛没有任何关联。

  • 需要WordPress REST API (WP-API) 2.0-beta9或更高版本,或WordPress 4.4或更高版本。
  • 需要SearchWP版本2.6或更高版本

技术上可以在没有SearchWP的情况下运行,但查询将通过WP_Query执行。

示例查询

有关可能的查询的完整列表,请参阅:https://calderawp.com/doc/searchwp-api-queries/

  • wp-json/swp_api/search?s=jedi&engine=star-wars
  • wp-json/swp_api/search?&tax_query[field]=slug&tax_query[taxonomy]=categories&tax_query[terms]=1
  • wp-json/swp_api/search?meta_query[key]=jedi&meta_query[value]=luke&tax_query[compare]=IN

其他文章类型

  • 自1.2.0版本添加。默认情况下,查询针对文章,要针对“jedi”文章类型进行查询,使用
    • wp-json/swp_api/search?s=rey&post_type=jedi

多个元查询

在版本1.1.0中添加嵌套元查询,允许通过多个元字段进行查询。请务必查看WP_Query文档的相关部分

简单嵌套查询

使用[]创建基本嵌套查询。默认元关系是AND。默认比较是IN。

示例:搜索jedi字段为"luke"且sith字段为"vader"的情况。

URL字符串:/wp-json/swp_api/search?meta_query[key][]=jedi&meta_query[value][]=luke&meta_query[key][]=sith&meta_query[value][]=vader

转换为

'meta_query' => array (
  'relation' => 'AND',
  array (
    'key' => 'jedi',
    'value' => 'luke',
    'compare' => 'IN',
  ),
  array (
    'key' => 'sith',
    'value' => 'vader',
    'compare' => 'IN',
  ),
)
查询部分的相互关系

使用变量meta_relation来更改查询之间的关系。您还可以设置比较,就像常规元查询一样。确保您的比较参数顺序正确。

示例:搜索jedi字段为"luke"或sith字段不是"vader"的情况。

URL字符串:wp-json/swp_api/search?meta_query[key][]=jedi&meta_query[value][]=luke&meta_query[compare][]=in&meta_query[key][]=sith&meta_query[value][]=vader&meta_query[compare][]=NOT%20IN&meta_relation=OR

转换为

'meta_query' => array (
  'relation' => 'OR',
  array (
    'key' => 'jedi',
    'value' => 'luke',
    'compare' => 'IN',
  ),

  array (
    'key' => 'sith',
    'value' => 'vader',
    'compare' => 'NOT IN',
  ),
)
查询部分中的多个值

通过在URL字符串中添加额外的嵌套级别将多个字段放入查询部分。顺序变得非常复杂,数字(记住从0开始)有所帮助,如下所示。

示例:搜索jedi字段为"luke"或"obi-wan"且sith字段不是"vader"的情况。

URL字符串:wp-json/swp_api/search?meta_query[key][]=jedi&meta_query[value][0][]=luke&meta_query[value][0][]=obi-wan&meta_query[compare][]=in&meta_query[key][]=sith&meta_query[value][]=vader&meta_query[compare][]=NOT%20IN&meta_relation=AND

array (
  'relation' => 'AND',
  array (
    'key' => 'jedi',
    'value' => array ('luke', 'obi-wan' ),
    'compare' => 'IN',
  ),
  array (
    'key' => 'sith',
    'value' => 'vader',
    'compare' => 'NOT IN',
  ),
)

许可证 & 版权