使用REST API更新用户元数据空间 - WordPress

时间:2018-02-13 15:18:31

标签: wordpress rest api

我正在尝试使用在我的网站上注册的空格来更新用户元。我使用register_meta挂钩来注册用户元。为了使用WordPress REST API更新用户,我使用了wp_remote_post,但问题是当我尝试使用空格更新用户元数据时,它将作为响应添加为数组,然后它将添加为新的用户元数据。

例如,用户元数据的值是 - 社区测试

示例回复:

[meta] => Array
          (               
          [agent_community] => Array
                            (
                                [0] => community
                                [1] => test
                            )
           )

用于注册用户元的示例代码。

register_meta('user', 'agent_community', array(
  "type" => "string",
  "show_in_rest" => true
));

使用wp_remote_post更新

$update_data = array('email'=> 'test@mail.com', 'meta[agent_community]' => 'community test');
$args = array(
        'headers' => array(
                    'Authorization' => 'Basic ' . base64_encode( 'username:password' ),
            ),
            'body' => array_filter($update_data));
$update_url = 'https://test-url.com/wp-json/wp/v2/users/17';
$response = wp_remote_post( $update_url, $args);    

数据库: enter image description here

有没有办法可以合并用户meta上的数组?

1 个答案:

答案 0 :(得分:0)

implode()可能会对您有所帮助。您可以使用HTML实体更改空格。或者使用像urledncode() / urlendecode()之类的函数或类似的东西。