Woocommerceカスタムリンクからカートにバリエーション製品を追加[終了]


15

リンクを介してカートに直接バリエーション商品を追加しようとしています。Variation_idにクエリ文字列を設定しています。私が知る限り、デフォルトのバリエーション製品フォームとまったく同じ方法でデータを送信しています。

単一製品ページ内のコードは次のとおりです。

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>

逆に、単純な製品は正常に機能します。管理者で製品バリエーションに価格を設定しました。データを送信するほど簡単ではない理由はわかりません。どんな助けでも大歓迎です。

回答:


10

私は現在woocommerce v2.1.12ショップで働いており、彼らはその行動を追いかけているようです。

カートにアイテムを追加する私のajaxのURLは次のようになります:

?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]

例:

http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold

これにより、特定の製品がカートに追加され、カートのバリエーション属性も設定されます。追加するだけで数量を設定することもできます&quantity=[VALUE]

これらの値はすべて送信フォーム/選択フィールド内で設定されるため、最終的にはこれが便利になります。検索するだけです。


2
クイックノート-適切な属性名のバリエーション選択フィールドを調べます。それは、典型的には、あなたが得るので、ハイフンを使用しています:&attribute_my-属性名=値
命令型のアイデア

9

これを考え出した。可変製品をカートに追加するために必要なパラメーターがいくつかありませんでした。欠落しているパラメーターは、variation_idおよびvariation_idが参照している属性タイプです。バリエーションIDは、admin> woocomerce> products、および作成した製品バリエーションの横にある[variations]タブにあります。

属性パラメータは、プレフィックスattribute_とサニタイズされた属性名から形成されます。たとえば、私の属性はストックカラーと呼ばれるため、属性タイプのパラメーターはattribute_stock-colorsです。私が伝えることができることattribute_stock-colors=1から、カートに追加するメソッドは存在するかどうかを確認するだけなので、あなたは設定するだけです。

以下は、在庫色のバリエーションID 261で商品をカートに追加するリンクの簡単な例です。

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=261&attribute_stock-colors=1">Add to Cart</a>

これを実際の状況で使用するには、ユーザーがドロップダウンなどで選択したオプションから属性タイプとバリエーションIDを動的に設定する必要があります(すべての製品に同じバリエーションがあり、基本的にそれがSimpel製品になる場合を除く) )。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.