小编Luc*_*caP的帖子

WP API V2:通过 ACF 查询帖子

我想通过过滤添加了高级自定义字段的自定义元来查询我的帖子。这是一个布尔元,所以每个帖子都会有类似的内容:

获取http://localhost/wp-json/wp/v2/posts

{
  ...
  "acf" : {
    "highlight" : true
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

即使我将 meta_key 和 meta_value 暴露给 REST API,我也无法按此元值进行过滤function.php

function my_add_meta_vars ($current_vars) {
    $current_vars = array_merge ($current_vars, array ('meta_key', 'meta_value'));
    return $current_vars;
}
add_filter ('rest_query_vars', 'my_add_meta_vars');
Run Code Online (Sandbox Code Playgroud)

但如果我尝试:

获取 http://localhost/wp-json/wp/v2/posts?filter[meta_key]=highlight&filter[meta_value]=true

我看到所有的帖子就好像过滤器被忽略一样。

api rest wordpress advanced-custom-fields wp-api

4
推荐指数
1
解决办法
6952
查看次数

MySQL:json提取删除引号

我正在使用 MySQL 5.7.12,这是我的查询。

select objectid, (JSON_EXTRACT(fullobject, '$.mail')) as mail from openidm.managedobjects where objecttypes_id=5 and (JSON_EXTRACT(fullobject, '$.mail'))='fake@email.com';
Run Code Online (Sandbox Code Playgroud)

这是输出

--------------------------------------------------
| objectid          | mail                       |
--------------------------------------------------
| 001f73d9-f3d      | "fake@email.com"           |
--------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我想从输出中删除引号,但由于我使用的是 5.7.12,所以无法使用JSON_UNQUOTE().

我尝试过REPLACE()

select objectid, REPLACE((JSON_EXTRACT(fullobject, '$.mail')), '\"', '') as mail from openidm.managedobjects where objecttypes_id=5 and (JSON_EXTRACT(fullobject, '$.mail'))='fake@email.com';
Run Code Online (Sandbox Code Playgroud)

但输出完全不相关:

----------------------------------------------------------------------------
| objectid          | mail                                                 |
----------------------------------------------------------------------------
| 001f73d9-f3d      | 6C75632E6170617369383840676D61696C2E636F6D           |
----------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

编辑

这是我的show create table openidm.managedobjects;

CREATE TABLE `managedobjects` (                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
`id` bigint(20) unsigned NOT …
Run Code Online (Sandbox Code Playgroud)

mysql json

4
推荐指数
1
解决办法
8946
查看次数

标签 统计

advanced-custom-fields ×1

api ×1

json ×1

mysql ×1

rest ×1

wordpress ×1

wp-api ×1