Woocommerce-JSまたはPHPを介してプログラムでカートに製品を追加します
-
-
**ローカライズされすぎている**として投票しました.WooThemesサポートを試しましたか?Close-voted as **too localized**. Have you tried WooThemes support?
- 0
- 2012-05-25
- Chip Bennett
-
@Chip Bennettはい、残念ながら参加するためだけに125ドルを請求します.これはWordpressとWoocommerceの両方の括弧の下にあります-それ自体はここでは有効なタグなので、確かに有効ですか?「ローカライズされすぎている」と誤解しない限り?@Chip Bennett I have yes, they charge $125 dollars just to join unfortunately. This comes under the bracket of both Wordpress and Woocommerce - itself a valid tag here, so is surely valid? Unless I am misunderstanding 'too localized'?
- 3
- 2012-05-25
- Larry B
-
この質問は特に** WordPress **とは何の関係もありません.これには、WooCommerceプラグイン自体(プラグイン機能とカスタムプラグイン関数/コード)のみが含まれます.**オフトピック**として投票することもできましたが、通常、商用製品や商用サポートオプションのある製品に関する質問には**ローカライズされすぎ**を使用します.This question has nothing to do with **WordPress** specifically. It involves only the WooCommerce Plugin itself - Plugin functionality and custom Plugin functions/code. I could have close-voted as **off-topic**, but I usually use **too localized** for questions about commercial products, or products that have commercial support options.
- 0
- 2012-05-25
- Chip Bennett
-
@ChipBennett WoocommerceはWordpress専用なので、wordpressとは何の関係もないので分類するのは奇妙に思えます.Woocommerceに関する質問を投稿しない場合、Woocommerceタグをどのように使用しますか?とにかく、他の誰かが同じ問題を抱えている場合に備えて、今投稿する答えを見つけました.@ChipBennett Woocommerce is only for Wordpress so seems odd to catagorise as nothing to do with wordpress. How would one use the Woocommerce tag if not to post a question about Woocommerce? At any rate I have found the answer which I shall post now in case anyone else has the same problem.
- 12
- 2012-05-25
- Larry B
-
* WooCommerce *がWordPressとは何の関係もないとは言いませんでしたが、**あなたの特定の質問**はWordPressとは何の関係もありません.2つの違いは重要です.I didn't say *WooCommerce* had nothing to do with WordPress, but rather that **your specific question** has nothing to do with WordPress. The difference between the two is critical.
- 0
- 2012-05-25
- Chip Bennett
-
@ChipBennettまあ私は反対しなければならないでしょう.Woocommerceについて質問しないのに、なぜWoocommerceタグがあるのですか.Woocommerceは決してスタンドアロンではないので、Woocommerceに関連するものはすべてWordpressに関連しています.もちろん、それは私の意見です.@ChipBennett Well I'd have to disagree. Why is there a Woocommerce tag if not to ask questions about Woocommerce. Woocommerce is not a standalone in any way so anything relating to Woocommerce is pertinent to Wordpress. But that's just my opinion of course.
- 0
- 2012-05-25
- Larry B
-
[WPSEの質問の範囲に関するFAQ](http://wordpress.stackexchange.com/faq#questions)をお読みください:「*質問は**処理しない**ことに注意してください... ** WordPressに固有ではありません**(そのコンテキストで発生した場合でも)* "WooCommerceがWordPressのコンテキストで実行されているからといって、WooCommerceに関するすべての質問がWPSEの範囲内にあるとは限りません.Please read [the FAQ regarding scope of questions for WPSE](http://wordpress.stackexchange.com/faq#questions): "*Note that we **do not handle** questions... **not specific to WordPress** (even if they happen in its context).*" Just because WooCommerce runs in the context of WordPress does not mean that every single question about WooCommerce is in-scope for WPSE.
- 0
- 2012-05-25
- Chip Bennett
-
*元の質問の編集*としてではなく、**回答**として回答を投稿してください.[** FAQをお読みください**](http://wordpress.stackexchange.com/faq).StackExchangeのQ&Aサイトがどのように機能するかを理解してください.Please post answers as **answers**, not as *edits to the original question*. [**Please read the FAQ**](http://wordpress.stackexchange.com/faq) so that you understand how StackExchange Q & A sites work.
- 0
- 2012-05-25
- Chip Bennett
-
rep <10なので、8時間待たなければなりません.I have to wait 8 hours as rep<10 so will then.
- 0
- 2012-05-25
- Larry B
-
@GHarpingたくさんのがらくたがありますが、この質問をしていただきありがとうございます.:)@GHarping Thank you for asking this question, even though you got a bunch of crap for it. :)
- 13
- 2013-01-09
- Ryan
-
2 回答
- 投票
-
- 2012-05-28
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にAJAXGETリクエストが送信されます
/wp/?post_type=product&add-to-cart=[PRODUCT_ID]
OK so here's how I solved it in the end. A quick and dirty example, uses 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>
This just makes an AJAX GET request to the cart url
/wp/?post_type=product&add-to-cart=[PRODUCT_ID]
-
これはもう機能していません(wcv2.1.12).解決策を見つけて共有しました[ここ](https://wordpress.stackexchange.com/questions/86967/woocommerce-add-variation-product-to-cart-from-custom-link/159390#159390)this is not working anymore (wc v2.1.12). found a solution and shared it [here](https://wordpress.stackexchange.com/questions/86967/woocommerce-add-variation-product-to-cart-from-custom-link/159390#159390)
- 7
- 2014-08-28
- honk31
-
私はこのチュートリアルを使用して、必要なことを達成するのに役立ちました. https://wpharvest.com/add-product-to-cart-programmatically-in-woocommerce/I've used this tutorial which helped me achieve what I needed: https://wpharvest.com/add-product-to-cart-programmatically-in-woocommerce/
- 0
- 2020-03-22
- Dragos Micu
-
- 2013-08-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() ) {
In PHP I managed to do it this way:
global $woocommerce; $woocommerce->cart->add_to_cart($product_id);
The method is in 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() ) {
-
どうすればajax経由でそのメソッドを呼び出すことができますか?How could I call that method via ajax?
- 3
- 2013-12-11
- Luca Reghellin
-
@Stratboyは、WordpressでAJAX関数を追加する推奨方法を使用します:https://codex.wordpress.org/AJAX_in_Plugins-基本的には、WordPressコーデックスの最初のphp例の回答から3行を挿入するだけです.@Stratboy by using the recommended way of adding AJAX functions in Wordpress: https://codex.wordpress.org/AJAX_in_Plugins - basically you just insert the 3 lines from the answer in the first php example from the wordpress codex.
- 1
- 2016-11-14
- CodeBrauer
Woocommerceプラグインを使用して、サイトの小さなeコマース部分を促進しており、独自の「カートに追加」ボタンを使用するのではなく、何らかの呼び出しまたは関数を介してカートに商品を追加する必要があります.
>これは基本的に、たとえばWoocommerceにSKUと数量を送信し、カートを更新することを意味します.
etc
ドキュメントを調べましたが、この種のことへの参照が見つからないようです.誰かが私がこれを達成する方法を提案できますか?