wordpress 在WooCommerce中使用jQuery获取可变产品价格?

sczxawaw  于 2022-11-22  发布在  WordPress
关注(0)|答案(2)|浏览(156)

每个产品都有一些不同的价格,我尝试用jQuery获取产品的可变价格,但下面的代码只获取最小的价格变化,我想获取当前价格变化的当前价格。然后,当我更改另一个选择值时,前端的价格变化是正确的。但是在控制台日志中,最低价格被反复显示,而不是对应变化的对应价格。

jQuery( '.variations_form' ).each( function() {
    // when variation is found, do something
    jQuery(this).on( 'found_variation', function( event, variation ) {
        var product    = '<?php echo wc_get_product($variation_id) ?>',
            price      = <?php echo $product->get_price() ?>;
        console.log(price);
    });
});

我尝试查看add-to-cart-variation.jswp-util.js文件以找到某种方法,但我无法做到这一点。
有没有一种方法可以用jQuery动态地正确检索当前的变化价格?

hts6caw3

hts6caw31#

你的代码在轨道上只是使用 * 变化 * 获得价格,图像等

jQuery(document).ready(function() {
    jQuery( '.variations_form' ).each( function() {
        jQuery(this).on( 'found_variation', function( event, variation ) {
            console.log(variation);//all details here
            var price = variation.display_price;//selectedprice
            console.log(price);
        });
    });
   });
xpcnnkqh

xpcnnkqh2#

我找到了一个解决方案,但它从.single_variation_wrap -> .price -> .amount文本中检索价格,该文本是从variation.php文件中输出的。

jQuery( '.variations_form' ).each( function() {
        jQuery(this).on( 'change', '.variations select', function() {
            var currency    = currency = ' <?php echo get_woocommerce_currency_symbol(); ?>',
                price       = jQuery('.woocommerce-variation-price .amount').text().replace(/ /g,''),
                parsePrice  = parseFloat(price),
                totalPrice  = parsePrice.toFixed(2) + currency;

            if ( jQuery('.single_variation_wrap .test').length ) {
              jQuery('.single_variation_wrap .test').html('');  
            }
            console.log(totalPrice);
            jQuery('.single_variation_wrap').append('<span class="test">' + totalPrice + '</span>');
        });
    });

这不是一个很好的解决方案,但它的工作。
有没有其他专业的解决方案,我该怎么做?

相关问题