Woocommerce-JSまたはPHPを介してプログラムでカートに商品を追加する[終了]


32

Woocommerceプラグインを使用してサイトの小さなeコマース部分を容易にし、独自の「カートに追加」ボタンを使用するのではなく、何らかの呼び出しまたは機能を介してカートに製品を追加する必要があります。

これにより、基本的には、たとえばWoocommerceにSKUと数量を送信し、カートを更新することを意味します。

sendToCart('123456', 55);

私はドキュメントを調べましたが、この種のことへの参照を見つけることができないようです。誰も私がこれを達成する方法を提案できますか?


あまりにもローカライズされているため、クローズ投票。WooThemesサポートを試しましたか?
チップベネット

3
@Chip Bennettはい、残念ながら参加するためだけに125ドルを請求しています。これはWordpressとWoocommerceの両方の括弧内にあります-それ自体はここで有効なタグなので、確かに有効ですか?「あまりにもローカライズされている」と誤解しない限り?
ラリーB

この質問は、WordPressとは特に関係ありません。それには、WooCommerceプラグイン自体(プラグイン機能とカスタムプラグイン関数/コード)のみが含まれます。オフトピックとして投票することもできましたが、通常は、商用製品や商用サポートオプションがある製品についての質問には、あまりにもローカライズしたものを使用します。
チップベネット

12
@ChipBennett WoocommerceはWordpress専用であるため、wordpressとは関係ないので、カタゴライズするのは奇妙に思えます。Woocommerceに関する質問を投稿しない場合、Woocommerceタグをどのように使用しますか?いずれにせよ、他の誰かが同じ問題を抱えている場合に備えて、今すぐ投稿する回答を見つけました。
ラリーB

11
@GHarpingこの質問をしてくれてありがとうございます。:)
ライアン

回答:


35

OK、最後に私がそれをどのように解決したかを示します。簡単で汚い例では、JQueryを使用しています。

<a id="buy" href="#">Buy this!</a>
    <script>    
       $('#buy').click(function(e) {
          e.preventDefault();
          addToCart(19);
          return false;
       });    

       function addToCart(p_id) {
          $.get('/wp/?post_type=product&add-to-cart=' + p_id, function() {
             // call back
          });
       }
    </script>

これは、カートのURLにAJAX GETリクエストを行うだけです

/wp/?post_type=product&add-to-cart=[PRODUCT_ID]

7
これはもう機能していません(wc v2.1.12)。解決策を見つけて、それを共有し、ここで
honk31

30

PHPでは、次のようにできました。

global $woocommerce;
$woocommerce->cart->add_to_cart($product_id);

メソッドはwoocommerce / classes / class-wc-cart.phpにあります。

    /**
     * Add a product to the cart.
     *
     * @param string $product_id contains the id of the product to add to the cart
     * @param string $quantity contains the quantity of the item to add
     * @param int $variation_id
     * @param array $variation attribute values
     * @param array $cart_item_data extra cart item data we want to pass into the item
     * @return bool
     */
    public function add_to_cart( $product_id, $quantity = 1, $variation_id = '', $variation = '', $cart_item_data = array() ) {

3
その方法をajax経由で呼び出すにはどうすればよいですか?
ルカレゲリン

1
WordpressでAJAX関数を追加する推奨方法を使用する@Stratboy:codex.wordpress.org/AJAX_in_Plugins-基本的に、wordpress codexの最初のphpの例の回答から3行を挿入します。
CodeBrauer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.