简短版本:如何在 Woocommerce 中获得可变产品的追加销售?
更长的版本: 我需要追加销售的产品 ID。 我的旧代码包含已弃用的代码:
$upsells = $product->get_upsells(); // $product is instace of WC_Product_Variable::
调用应该如下:
$upsells = $product->get_upsells_ids(); // $product is WC_Product::
但是不同的类。
我尝试使用 wc_get_product($product->get_parent_id())
获取父实例 - 但失败了。
那么,鉴于 WC_Product_Variable 的实例,我如何获得父方法 WC_Product::$product->get_upsells_ids() ??
谢谢
答案 0 :(得分:1)
get_upsells-ids()
方法不存在。试试get_upsell_ids()
。
以下代码将显示您当前访问的产品的所有追加销售 ID:
// quick test to check upsell ids
add_action( 'woocommerce_before_single_product', 'echo_upsell_ids' );
function echo_upsell_ids() {
global $product;
$product_id = $product->is_type('variation') ? $product->get_parent_id() : $product->get_id();
$product = wc_get_product( $product_id );
$upsell_ids = $product->get_upsell_ids();
echo '<pre>' . print_r( $upsell_ids, true ) . '</pre>';
}
我已经测试了代码并且它有效。该代码段进入您的子主题的functions.php 文件。