2

作成したアプリケーションに WooCommerce Web サイトを統合しています。

API を使用して製品 (メタデータ) のカスタム フィールドを取得しようとしています。

以下は、v1 から v2 への変更に関するドキュメントからの抜粋です。

v1 には注文アイテム メタが含まれず、v2 には完全な注文アイテム メタが含まれます (保護された注文アイテム メタを含めるためのオプションのフィルター パラメーターを使用)

https://woocommerce.github.io/woocommerce-rest-api-docs/v2.html#version

この実際のフィルターが何であるかをどこにも見つけられないようです。以下のフィルターは、最初にメタデータを取得するために使用されるものです

filter[meta]=true

しかし、検索しても、製品の保護されたメタデータを返す追加のフィルターが見つかりません。保護されたメタを更新しようとしているのではなく、保護されたメタを表示していることに注意してください。

4

1 に答える 1

1

とりあえず回避策を見つけました。API 呼び出しで保護されたフィールドのフィルターが見つかりませんでしたが、次のコードを functions.php ファイルに追加しました。

add_filter( 'is_protected_meta', function ( $protected, $key, $type ) {
    if ( $key === '_my_protected_meta_field' ) {
        // Expose the `_my_protected_meta_field` meta value publicly
        return false;
    }
    return $protected;
}, 10, 3 );

現在のメタデータ_my_protected_meta_fieldは、次の API 呼び出しで表示されますfilter[meta]=true

于 2016-11-24T20:24:19.997 に答える