我如何在 Woocommerce 中获得可变产品的追加销售?

时间:2021-01-16 11:35:07

标签: wordpress woocommerce

简短版本:如何在 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() ??

谢谢

1 个答案:

答案 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 文件。