如何在WooCommerce中获取可变产品的变体ID?

时间:2019-05-28 13:18:04

标签: php wordpress woocommerce

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

这是我的代码:

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?预先感谢。

1 个答案:

答案 0 :(得分:0)

您可以简单地使用$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 );
}