独自のアルゴリズムを使用してカスタム配送オプションを作成するWooCommerce用のプラグインを作成しています。
私はオブジェクト指向プログラミングに不慣れですが、自分がいるメソッド/クラス以外のメソッド/クラスに適切にアクセスする方法について非常に混乱しています.
現在、WooCommerce が使用する calculate_shipping() というクラスがあります。基本的に、私の新しい配送方法は WC_Shipping_Method クラスを拡張して、この新しい配送方法を追加します。
私の質問はこれです:
内my_new_shipping_class()->calculate_shipping()
で、次のクエリを実行する正しい方法は何ですか?
- ショッピング カート配列内のすべての商品と、関連する重量のリストを返します
- ユーザーがカートに入力した現在の郵便番号にアクセスする
いくつかの掘り下げから、必要なものがすべて含まれているように見える $cart_contents という配列があることがわかりました。(体重じゃないかも?)
これは の下WC_Cart->get_cart()
にありますが、$cart_contents というパブリック配列もあります。これらのいずれかにアクセスする正しい方法は何ですか?
個々の製品の重量も下WC_Product->get_weight()
にありますが、それを使用する必要があるかどうかはわかりません.
最終的に、返そうとしているのは、各製品の重量の並べ替えられた配列です。たとえば、カートに次のものが含まれているとします。
- アイテム 1、数量: 各 1, 2 ポンド
- アイテム 2、数量: 各 2、5 ポンド
- アイテム 3、数量: 1、各 10 ポンド
[10,5,5,2] の配列を返したいので、これらの製品を最大重量の箱に入れ、各箱の個々の送料を返すアルゴリズムを実行できます。
この質問のほとんどは、おそらく基本的なオブジェクト指向プログラミングに関するものなので、ばかげた質問になってしまったらごめんなさい。