Variable Produktpreise mit jQuery in WooCommerce erhalten?

Lesezeit: 2 Minuten

Benutzeravatar von colapsnux
colapsnux

Ich habe einige Variationen pro Produkt, die unterschiedliche Preise enthalten. Ich versuche, den Produktvariablenpreis mit jQuery abzurufen, und ich bekomme ihn, aber dieser Code unten erhält nur den minimalen Variationspreis, und ich möchte den aktuellen Preis für die aktuelle Variation erhalten . Wenn ich dann einen anderen Auswahlwert ändere, ändert sich die Variation im Frontend mit dem richtigen Preis, aber im Konsolenprotokoll wird immer wieder der Mindestpreis angezeigt und nicht der entsprechende Preis für die entsprechende Variation.

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);
    });
});

Ich habe versucht, in die zu schauen add-to-cart-variation.js und die wp-util.js Datei, um einen Weg zu finden, aber ich kann es nicht tun.

Gibt es eine Möglichkeit, den aktuellen Variationspreis dynamisch mit jQuery korrekt abzurufen?

Ihren Code sind auf der Strecke einfach zu verwenden Variation Preis, Bild usw

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);
        });
    });
   });

Ich habe eine Lösung gefunden, aber den Preis aus dem abzurufen .single_variation_wrap -> .price -> .amount Text, der aus der Datei „variation.php“ ausgegeben wird.

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>');
        });
    });

Es ist keine ziemlich gute Lösung, aber es funktioniert.

Gibt es eine andere professionelle Lösung, wie ich es machen kann?

1435090cookie-checkVariable Produktpreise mit jQuery in WooCommerce erhalten?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy