我正在寻找输出相关的产品在我的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();
}
}
这产生了同样的错误。
在目前有几种产品存在问题的情况下,是否可以这样做?我会很高兴地从购物车中随机挑选一个产品,并根据它输出建议。
问题是woocommerce_related_products()
应该在循环中使用(这是WordPress特定的术语)。该函数包括/WooCommerce/single-product/related.php
模板,WooCommerce>尝试在其中访问全局变量$product
和$woocommerce_loop
。
我建议您打开文件/woocommerce/single-product/related.php
,查看相关产品是如何检索的,并编写一些更多的自定义代码以在循环外显示相关产品。