我正在尝试访问所选产品的产品价格,以便我可以在我的PHP代码中使用它来进行一些计算。我找到了一个只能部分工作的代码。代码仅显示第一个变量产品的价格。当我在代码行中将值从0更改为1时,它将显示第二个变体的价格。 $ availablevariations [0] [' variation_id&#39]。 我试图根据从下拉列表中选择的任何选项获得产品的当前价格。 这是我正在使用的代码,它不按照我希望的方式工作
// Get current product variation price
global $product;
//get the sale price of the product whether it be simple, grouped or variable
echo $saleprice = getpostmeta( gettheID(), '_price', true);
//get the regular price of the product, but of a simple product
$regular_price = get_post_meta( get_the_ID(), '_regular_price', true);
//oh, the product is variable to $sale_price is empty? Lets get a variation price
if ($regular_price == ""){
#Step 1: Get product varations
$available_variations = $product->get_available_variations();
#Step 2: Get product variation id
$variation_id=$available_variations[0]['variation_id']; // Getting the variable id of just the 1st product. You can loop $available_variations to get info about each variation.
#Step 3: Create the variable product object
$variable_product1= new WC_Product_Variation( $variation_id );
#Step 4: You have the data. Have fun :)
$regular_price = $variable_product1 ->regular_price;
}
echo "<br> $regular_price ---This is the price I am trying to fix "
我需要使用此代码对当前变量产品价格进行一些操作,因此如果您想查看,链接为http://www.emotionadv.it/shop/volantini/volantino/,当我更改属性时,价格会发生变化。 我想在下表中使用该价格。
答案 0 :(得分:0)
WooCommerce有一个自定义触发器,可在发现变体时触发。如果找到变体,则会运行以下内容...并在控制台中转储variation
变量,以便您可以查看可用的内容。
jQuery( document ).ready( function($) {
$( '.variations_form' ).each( function() {
// when variation is found, do something
$(this).on( 'found_variation', function( event, variation ) {
console.log(variation);
});
});
} );
它variation
应该是这样的:
有两种变体对您有用。
variation.price_html = "<span class="price"><span class="amount">$40.00</span></span>";
您可以从此字符串中提取价格。如果没有,那么您可以使用ajax使用variation.variation_id
从产品对象返回数字价格。
$product = wc_get_product($variation_id);
$price = $product->get_price();
答案 1 :(得分:0)
我已经用你的jQuery代码创建了一个单独的脚本,我加载它的文件的名字是&#34; prova&#34;,但现在我不知道如何捕获变量价格,我尝试使用$ product = wc_get_product($ variation_id); $ price = $ product-&gt; get_price();我把这段代码放在wp_enqueue_script之后(&#39; prova&#39;);但是$ price是变量产品的最低价格。