我有自己的
single_product.php
模板,其中包括 do_action('woocommerce_variable_add_to_cart')
(当产品可变时)。这显示了添加到购物车按钮以及用于选择产品选项(即大、中、小)的选择框。
我对该产品进行交叉销售,并使用显示相关产品的
do_shortcode('[related_products]')
将其输出到模板中。问题是它显示所有产品(不是该产品交叉销售部分中列出的产品)。
我还尝试使用
var_dump(wc_get_related_products(get_the_id()))
显式传递产品 ID,这会生成一个数组......你猜对了:所有产品!
我做错了什么吗?
显然
wc_get_related_products()
不是为了展示交叉销售产品而设计的。阅读 PhpDoc 说明:
根据产品类别和标签获取相关产品。
它的作用是查询具有匹配类别和标签的产品。
要显示交叉销售产品,您需要从
$product->get_cross_sell_ids()
获取其 ID,并按照您想要的方式呈现它们。