WooCommerce - Adicione um produto ao carrinho programaticamente via JS ou PHP
-
-
Fechar-votado como **também localizado **.Vocêjátentou suportar o WOOTHEMES?Close-voted as **too localized**. Have you tried WooThemes support?
- 0
- 2012-05-25
- Chip Bennett
-
@Chip Bennett Eutenho sim,eles cobram dólares de US $ 125 apenaspara sejuntareminfelizmente.Isso vem sob o suporte de WordPresse WooCommerce -em si umatag válida aqui,então é certamente válida?Amenos queeuestejamal-entendido "também localizado"?@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
-
Esta questãonãotem nada a ver com ** WordPress **especificamente.Envolve apenas opróprioplugin do WooCommerce -funcionalidade deplugine funções/código deplug-inpersonalizados.Eupoderiater votadopróximo como ** off-tópico **,masgeralmente uso **também localizado **paraperguntas sobreprodutos comerciais,ouprodutos quetêm opções de suporte comercial.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
-
@Chipbent WooCommerce é apenaspara o WordPress,entãopareceestranhopara catorizar comonada a ver com o WordPress.Como alguém usaria atag WooCommerce senãopostar umapergunta sobre o WooCommerce?De qualquerforma queencontrei a resposta que voupostar agora,caso alguémtenha omesmoproblema.@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
-
Eunão disse * WooCommerce * Nãotinhanada a ver com WordPress,mas sim que ** suaperguntaespecífica **nãotem nada a ver com o WordPress.A diferençaentre os dois é crítica.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 Bem,euteria que discordar.Por que há umatag de woocommerce senãofazerperguntas sobre o WooCommerce.WooCommercenão é um autônomo de qualquermaneira,então qualquer coisa relacionada ao woocommerce épertinente ao WordPress.Masessa é apenas aminha opinião,é claro.@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
-
Porfavor,leia [o FAQem relação aescopo deperguntaspara o WPSE] (http://wordpress.stackexchange.com/faq#questions): "* Observe quenós **não lidamos com **perguntas ... ** Nãoespecíficopara WordPress** (Mesmo queeles aconteçamem seu contexto). * "Sóporque o WooCommerce éexecutadono contexto do WordPress,não significa que cadapergunta única sobre o WooCommerceestejanoespaçopara o 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
-
Porfavor,poste respostas como ** respostas **,não como *ediçõespara apergunta original *.[** Porfavor,leia o FAQ **] (http://wordpress.stackexchange.com/faq)para que vocêentenda como o StatackeXchange Q & A sitesfuncionam.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
-
Eutenho queesperar 8 horas como Rep <10,entãoentão.I have to wait 8 hours as rep<10 so will then.
- 0
- 2012-05-25
- Larry B
-
@Gharping obrigadoporfazeressapergunta,mesmo que vocêtenha ummonte deporcariaparaisso.:)@GHarping Thank you for asking this question, even though you got a bunch of crap for it. :)
- 13
- 2013-01-09
- Ryan
-
2 respostas
- votos
-
- 2012-05-28
Ok,então aquiestá comoeu resolvinofinal.Umexemplo rápidoe sujo,usajQuery.
<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>
Issofaz com que um Ajax receba solicitação ao 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]
-
Issonãoestámaisfuncionando (WC v2.1.12).Encontrou uma soluçãoe compartilhada [aqui] (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
-
Eu useiestetutorial queme ajudou a alcançar o queeuprecisava: https://wpharvest.com/add-product-to-cart-programatical-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
nophpeu conseguifazerisso destaforma:
global $woocommerce; $woocommerce->cart->add_to_cart($product_id);
Ométodoestáem 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() ) {
-
Comoeupoderia chamaressemétodo via Ajax?How could I call that method via ajax?
- 3
- 2013-12-11
- Luca Reghellin
-
@StratBoy usando amaneira recomendada de adicionarfunções do AJAXno WordPress: https://codex.wordpress.org/ajax_in_plugins -basicamente você apenasinsere as 3 linhas da respostanoprimeiroexemplo do PHP do WordPress Codex.@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
Euestou usando oplugin WooCommerceparafacilitar umapequenaparte dee-commerce de um sitee precisa adicionarprodutos ao seu carrinho através de alguma chamada oufunçãoem vez de usar seusprópriosbotões 'adicionais'.
Porisso,basicamente significaenviar wooocommerce um skue quantidadeporexemploe ter a atualização do carrinho.
etc
Eu olhei através da documentaçãoe não consigoencontrar uma referência aessetipo de coisa.Alguémpode sugerir comoeupoderia conseguirisso?