高级自定义字段 - 无法正确更新用户字段

时间:2015-05-05 19:08:50

标签: wordpress advanced-custom-fields

我有一个用户字段(多个可选择的),我必须使用Web服务进行更新。

它正在使用像

这样的东西
add_post_meta($post_id,'followers',$followers);

为$ followers提供一组用户ID。

这显然有效(我在WP管理员看到正确的数据),但我看到数据没有正确存储在wp_postmeta表上。当我使用mi webservice时,用户ID在该表上没有引号存储,类似于

a:1:{i:0;i:1348;}

但如果我在管理员中做了任何修改,我会得到:

 a:1:{i:0;i:"1348";}

当我尝试在WP中进行反向查询时,使用类似

的内容
                        'meta_query' => array(
                        'relation' => 'OR',
                        array(
                            'key' => 'followers',
                            'value' => '"' . $current_user->ID . '"',
                            'compare' => 'LIKE'
                        ),

所以我需要用户ID总是在我的webservice中存储引号。

谢谢!

1 个答案:

答案 0 :(得分:0)

正确的方法是存储双引号。在您的查询中,您必须序列化您的搜索并转换为字符串,如下所示:

 'meta_query' => array(
                   'relation' => 'OR',
                          array(
                                'key' => 'followers',
                                'value' => serialize(strval($current_user->ID)),
                                'compare' => 'LIKE'
                            ),