WP API(v2ベータ4)でカスタムルートを作成して、サイトオプションを設定しました。AngularJSを使用してAPI呼び出しを行っていますが、何らかの理由で、リクエスト内で送信されたデータにアクセスできません。ここに私がこれまで持っているものがあります:
gvl.service('gvlOptionService', ['$http', function($http) {
    this.updateOption = function(option, value) {
        return $http({
          method  : 'POST',
          url     : wpAPIdata.gvlapi_base + 'options',
          data    : { "option" : option,
                      "value" : value
                    },
          headers : { 'Content-Type': 'application/x-www-form-urlencoded',
                      'X-WP-Nonce' : wpAPIdata.api_nonce
                    }  
         })
    }
}]);これでリクエストが正常に送信され、投稿されたデータは次のようになります。
{"option":"siteColor","value":"ff0000"}リクエストは、カスタムルートと指定したコールバックに正常に送信されます。これがクラス内のそのコールバック関数です:
public function update_option( WP_REST_Request $request ) {
    if(isset($request['option']) && $request['option'] == 'siteColor') {
        $request_prepared = $this->prepare_item_for_database($request);
        $color_updated = update_option('site_color', $request_prepared['value'], false);
        if($color_updated) {
            $response = $this->prepare_item_for_response('site_color');
            $response->set_status( 201 );
            $response->header('Location', rest_url('/gvl/v1/options'));
            return $response;
        } else {
            // ...
        }
    } else {
        return new WP_Error( 'cant_update_option', __( 'Cannot update option.' ), array( 'status' => 400 ) );
    }
}問題は、$ request ['option']がnullであるため、これが常に失敗し、WP_Errorを返すことです。
var_dump($ request)を実行すると、オブジェクトの['body']部分にJSON文字列が表示されますが、配列のその部分を呼び出すときにアクセスできません。また、ドキュメント(http://v2.wp-api.org/extending/adding/)に記載されているパラメーターを取得するメソッドを使用してみましたが、いずれもデータを返さないようです。ここに本当に基本的なものがないのですか?
                  これで運がいい?
                
                
                  
                    —
                    jgraup 2016年