提问者:小点点

在Woocommerce购物车页面输出相关产品


我正在寻找输出相关的产品在我的woocommerce购物车页面。

在查看单个产品时,woocommerce_related_products()函数可以很好地工作。

但是在shopping-cart.php上使用这个函数时,会返回一个错误:

错误:调用/woocommerce/single-product/related.php中非对象的成员函数get_related()

我尝试将该函数包含在产品循环中:

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

    $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    $product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

    if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters('woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
        woocommerce_related_products();
    }
}

这产生了同样的错误。

在目前有几种产品存在问题的情况下,是否可以这样做?我会很高兴地从购物车中随机挑选一个产品,并根据它输出建议。


共1个答案

匿名用户

问题是woocommerce_related_products()应该在循环中使用(这是WordPress特定的术语)。该函数包括/WooCommerce/single-product/related.php模板,WooCommerce>尝试在其中访问全局变量$product$woocommerce_loop

我建议您打开文件/woocommerce/single-product/related.php,查看相关产品是如何检索的,并编写一些更多的自定义代码以在循环外显示相关产品。