我正在使用Woocommerce插件来促进网站的一小部分电子商务,需要通过一些调用或功能将产品添加到购物车中,而不是使用其自己的“添加到购物车”按钮。
/>
,这基本上是指向Woocommerce发送一个SKU和数量(例如,数量)并进行购物车更新。 >我仔细阅读了文档,似乎找不到这种东西的参考。有人可以建议我如何实现这一目标吗?

评论

投票过多,因为过于本地化。您尝试过WooThemes支持吗?

@Chip Bennett我有,不幸的是,他们收取125美元。这是在Wordpress和Woocommerce的支持下-本身在这里是有效的标签,因此肯定有效吗?除非我误会了“太本地化”?

这个问题与WordPress无关。它仅涉及WooCommerce插件本身-插件功能和自定义插件功能/代码。我本来可以投票否定主题,但是对于商业产品或具有商业支持选项的产品,我通常会过于本地化。
@ChipBennett Woocommerce仅适用于Wordpress,因此与wordpress无关,似乎奇怪。如果不发布有关Woocommerce的问题,人们将如何使用Woocommerce标签?无论如何,我已经找到了答案,以防万一其他人遇到同样的问题。

@GHarping谢谢您提出这个问题,即使您对此一无所知。 :)

#1 楼

好的,这就是我最后解决它的方法。一个快速且肮脏的示例使用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请求

评论


这不再起作用了(wc v2.1.12)。找到了解决方案并在这里共享

–honk31
2014年8月28日在9:15

我使用了本教程,可以帮助我实现所需的知识:wpharvest.com/…

– Dragos Micu
20-3-22在13:03

#2 楼

在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() ) {


评论


我如何通过ajax调用该方法?

–路卡·雷格尔林(Luca Reghellin)
2013年12月11日19:21

@Stratboy通过使用在Wordpress中添加AJAX函数的推荐方法:codex.wordpress.org/AJAX_in_Plugins-基本上,您只需在wordpress Codex的第一个php示例中从答案中插入3行。

– CodeBrauer
16年11月14日在16:45