dutchigor / cmb2-rest-query
为任何设置了 rest_query 属性的 CMB2 字段添加查询参数到 REST API。
v1.0.1
2020-03-30 11:24 UTC
Requires
- php: >7.0.0
This package is auto-updated.
Last update: 2024-09-29 05:22:24 UTC
README
为任何设置了 rest_query 属性的 CMB2 字段添加查询参数到 REST API。
如何安装
选项一
- 克隆或下载并将此插件解压缩到您的 WordPress 插件目录中,然后激活。
选项二
- 将 dutchigor/cmb2-rest-query 添加到 composer 的必需包中,并在您的代码中引入 CMB2-rest-query.php
如何使用
在 CMB2 中设置元框
将 query_rest 属性添加到您希望查询的字段中您的 CMB2 字段配置。
- 如果设置为 true,则将使用字段 ID 查询 REST API。
- 如果设置了一个值,则将使用该值查询 REST API。
示例
$cmb = new_cmb2_box( [ 'id' => 'my_metabox', 'title' => __( 'My Metabox', 'cmb2' ), 'object_types' => [ 'post' ], 'show_in_rest' => WP_REST_Server::ALLMETHODS ] ); $cmb->add_field( [ 'id' => 'my_text_field', 'name' => 'My text field', 'type' => 'text', 'rest_query' => true ] ); $cmb->add_field( [ 'id' => 'custom_query_name', 'name' => 'My text field', 'type' => 'text', 'rest_query' => 'my_query' ] );
查询 REST API
对于设置了 rest_query 的每个字段,在注册该字段元框的每个文章类型上,REST 请求将可用 3 个参数
- 字段的 rest_query 值或 id(如上所述)
- 上述参数后追加 _compare
- 上述参数后追加 _type
将字段的查询参数添加到请求中将在请求的元查询中添加该字段。默认情况下,比较将为 '=',但使用 {rest_query}_compare 参数,这可以更改为 WP_Meta_Query 允许的任何选项。查询参数的类型将默认设置为 'CHAR',但可以使用 {rest_query}_type 覆盖,同样使用 WP_Meta_Query 允许的值。
按照上述示例,查询可能如下所示
const request = new Request('https://wordpresstheme.cn/wp-json/wp/v2/posts?my_text_field=hello&my_query=world&my_query_compare=LIKE');