2017-12-22 23 views
1

最新のAPI v2を使用しています。 min_price,categoryなどのその他のフィルタは機能していますが、attributeattribute_termsのクエリパラメータは結果セットをフィルタリングしていません。WooCommerce REST API属性フィルタの商品リストが機能しない

私は属性Colorを持っていると私は通りのNode.jsクライアントからAPIを呼び出しています:

var WooCommerceAPI = require('woocommerce-api'); 
var WooCommerce = new WooCommerceAPI({ 
    url: 'http://localhost/index.php', 
    consumerKey: '***', 
    consumerSecret: '***', 
    wpAPI: true, 
    version: 'wc/v2' 
}); 

WooCommerce.getAsync('products?attribute=pa_color').then(function(result){ 

     var data = JSON.parse(result.toJSON().body); 
     console.log(data); 
    }); 

どのように私は実際には属性によってフィルタリングすることができますか?他の組み合わせを試しましたe、g。 attribute=Color,attribute=color。それでも結果はフィルタリングされません。

答えて

1

は、最新のWooCommerce REST APIドキュメントを見てください:http://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-products

WooCommerceは、RESTのAPIの恐ろしい歴史を持っているようです。 API V1、V2、V3があり、WP REST APIに変更され、V1とV2が作成されました。もちろん、それを行う正しい方法をGoogleで検索して、それはひどく吸う。

これはそれを行うには正しい方法でなければなりません:

https://example.com/wp-json/wc/v2/products/?attribute=pa_color&attribute_term=15 

または

https://example.com/wp-json/wc/v2/products/?attribute=pa_color&attribute_term=green 

注:attribute_termと一緒に属性を使用することが重要です。

私はそれを行うには、前者の方法は、このようなものだったと思います:

products?filter[meta_key]=pa_color&filter[meta_value]=green 

またはこのような:

https://example.com/wp-json/wc/v2/products?attribute[pa_color]=green 

が、これはWooCommerceワードプレスでもう動作しませんのようにそれはそうAPI V2

+1

はい、attribute_termと一緒に使用すると、実際に問題が解決しました。しかし彼らは彼らのAPI文書でそれを言及しなかった。 –

+0

はい、彼らは間違いなく、より良い文書を例などで作成する必要があります。 – Blackbam

+0

クエリ文字列の値に複数の属性を使用することは可能ですか? –

関連する問題