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.Разница между ними критическая.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
-
Пожалуйста,прочтите [FAQ относительно объема вопросов для WPSE] (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.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
-
Я должен ждать 8 часов,так как rep <10,так и будет.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
Итак,вот как я решил это в итоге.Быстрый и грязный пример с использованием 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>
Это просто делает запрос AJAX GET на URL-адрес корзины
/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]
-
это больше не работает (wc v2.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,используя рекомендуемый способ добавления функций AJAX в Wordpress: https://codex.wordpress.org/AJAX_in_Plugins - в основном вы просто вставляете 3 строки из ответа в первый примерphp из кодекса wordpress.@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,чтобы облегчить небольшую часть сайта электронной коммерции,и мне нужно добавлять продукты в его корзину с помощью какого-либо вызова или функции,а не с помощью собственных кнопок «добавить в корзину».
Под этим я подразумеваю,например,отправку Woocommerce артикула и количества и обновление корзины.
и т. д.
Я просмотрел документацию и не нашел упоминания о подобных вещах.Может ли кто-нибудь подсказать,как я могу этого добиться?