代码之家  ›  专栏  ›  技术社区  ›  tobiasg

通过WoomCommerce购物车项目循环查找跟踪代码

  •  1
  • tobiasg  · 技术社区  · 6 年前

    我试图在WooCommerce中循环浏览购物车页面上的每一个产品,以便在javascript跟踪代码中设置一些对象,这些代码应该打印出ID以及在此对象中添加到购物车的产品数量。

    我使用了StackOverflow中的一些示例来访问产品,并循环访问它们并创建JavaScript对象,但我得到了一个错误消息:

    错误地调用了post。不应访问产品属性 直接地

    这是我在 functions.php :

    <?php }
        if (is_cart()) { ?>
            <?php 
       global $woocommerce;
       $items = $woocommerce->cart->get_cart();
       $product_names=array(); ?>
        <script>
            var options = [
            <?php foreach ($items as $item => $values) { 
                $_product = $values['data']->post;?> 
                {productid: "<?php echo $_product->ID; ?>"},
            <?php
            }
            ?>
            ]
        </script>
       <?php      
        }
    }
    

    我认为我接触产品的方式已经被否决了。现在有人知道如何正确使用WoomCommerce吗?另外,如果你知道如何实际获得产品添加到购物车的数量(即每个产品添加了多少项),那将是非常感谢的。

    1 回复  |  直到 6 年前
        1
  •  1
  •   LoicTheAztec    6 年前

    代码中有一些错误,请尝试以下操作:

    if (is_cart()) { 
        $product_names=array(); 
    ?>
    <script>
        var options = [
        <?php foreach ( WC()->cart->get_cart() as $cart_item ) : ?> 
            {productid: "<?php echo $cart_item['data']->get_id(); ?>"},
        <?php endforeach; ?>
        ]
    </script>
    <?php      
    }
    

    它最好能毫无差错地工作。

    注: global $woocommerce 被替换 WC() 一段时间后。中不再包含Post对象 WC_Product 自Woomcommerce 3.0以来的对象