【问题标题】:How to get Variation ID of Variable Product in WooCommerce? [duplicate]如何在 WooCommerce 中获取变量产品的变体 ID? [复制]
【发布时间】:2019-10-14 00:57:21
【问题描述】:

在可变产品的单个产品页面上,当我从下拉列表中更改不同的变体时,我想显示另一个自定义字段的价格,而不是默认变体价格(我已经在仪表板中创建的字段)。但是,我没有找到在产品页面上显示价格的方法。

这是我的代码:

add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2 );

function custom_price( $price, $product )
{
    return $price;
}

在函数 custom_price 中,如果我得到了变体 id,我可以这样做:

function custom_price( $price, $product )
{
    $variation_id = ???
    return get_post_meta( $variation_id, 'custom_field', true );
}

如何在此函数中获取变体 ID?提前致谢。

【问题讨论】:

  • 自 WooCommerce 3 WC_Product get_variation_id() 已弃用和过时,下面的答案 已过时。它已被 $product->get_id() 取代......所以你应该不接受下面的答案,因为这不是正确的答案。

标签: php wordpress woocommerce


【解决方案1】:

你可以简单地使用$product->get_id();

add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2 );

function custom_price( $price, $product )
{
    $variation_id = $product->get_id();

    return get_post_meta( $variation_id, 'custom_field', true );
}

【讨论】:

猜你喜欢
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
  • 2023-03-14
  • 1970-01-01
  • 2018-07-20
  • 1970-01-01
  • 2020-03-28
相关资源
最近更新 更多