masonitedoors / searchwp-api-route
为通过SearchWP进行搜索添加WordPress REST API端点。
README
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', ), )
许可证 & 版权
-
版权所有2015 Josh Pollock for CalderaWP LLC。
-
根据GNU通用公共许可证版本2或更高版本许可。
-
请与您的邻居分享。