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

时间:2014-03-14 15:44:58

标签: php wordpress woocommerce

我希望在我的woocommerce购物车页面上输出相关产品。

在查看单个产品时,功能woocommerce_related_products()非常有效。

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

Fatal error: Call to a member function get_related() on a non-object in /woocommerce/single-product/related.php

我尝试在产品循环中包含该功能:

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 个答案:

答案 0 :(得分:1)

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

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