Support » WooCommerce » Produkt Rabatt Prozentanzeige falsch

  • Hi,

    ich verzweifle langsam. Ich habe ein Produkt wo ich einen Rabatt geben möchte.

    Es gibt einen normalen Preis und dann gebe ich den Angebotspreis an. Auf der Produktseite sehe ich dann den alten Preis und den neuen Preis. Alter Preis ist durchgestrichen.
    Nun ist neben dem Preis eine Grafik die den Rabatt in Prozent anzeigt und noch das schöne Wort Sale. Nur ist der Prozentwert falsch. Ich habe 20% Rabatt gegeben aber die Grafik zeigt 16%Sale an.

    Wieso rechnet er falsch?

    Installiert sind folgende Plugins die meiner Meinung was mit der Preisberechnung zu tun haben:

    Woocommerce in Vers. 6.5.1
    Germanized für WooCommerce 3.9.2
    Germanized für WooCommerce Pro 3.5.3
    WPC Komposite-Produkte für WooCommerce 5.1.3
    WPC Product Bundles for WooCommerce 6.2.1

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)
  • Also ins blaue geschossen würde ich wetten, dass es mit Steuern zusammenhängt…
    Aber leider kann ich da nix genaues sagen 🙁

    Moderator espiat

    (@espiat)

    testumgebung aufsetzen und Germnized einmal deaktivieren.
    Dann weißt du genau, ob es daher kommt.

    Wie @michi91 schon sagt, wird es mit den Netto/ Brutto Preisen zusammenhängen.

    Thread-Ersteller pomull

    (@pomull)

    Guten Morgen,

    ich habe eine Testumgebung installiert (WP-Staging).

    Habe alle Plugins deaktiviert und keine Besserung des Problems.

    Moderator espiat

    (@espiat)

    Okay.

    Wechsle mal das Theme auf das standard theme.

    Du hast nur Woocommerce aktiviert gelassen?

    Dann ist es eine Einstellung in Woocommerce, wenn es nicht das Theme ist, was das produziert

    Thread-Ersteller pomull

    (@pomull)

    Danke @espiat
    Es liegt am Theme. Habe Sie angeschrieben aber der Support ist ausgelaufen.

    Man müsste doch die Anzeige ausschalten können. Wo wird das gesteuert? in der CSS vom Theme?

    Thread-Ersteller pomull

    (@pomull)

    Hier schein der Rechenweg zu sein:

    // Single product price
    	var fixedPrice = function(price){
    		var ins = price.find('ins');
    		var del = price.find('del');
    
    		if( price.length && ins.length == 1 && del.length && price.find('.price-discount').length == 0 ) {
    			var separator = price.data('separator');
    			var regular = del.text().split(separator);
    			var regular = parseInt(regular[0].replace(/\D+/g,""));
    			var sale = ins.text().split(separator);
    			var sale = parseInt(sale[0].replace(/\D+/g,""));
    			var percent = $(document.createElement('div'));
    
    			if ( del.text().substring(del.text().indexOf(separator) + 1) > 0) {
    				regular = del.text().replace(/[^0-9.]/g, "")
    				sale = ins.text().replace(/[^0-9.]/g, "")
    			}
    
    			if ( price.find('.amount').length == 2 ) {
    				var saleText = stockieVariables.saleL10n.toUpperCase();
    				if( price.attr('data-sale-text') ) {
    					saleText = price.attr('data-sale-text');
    				}
    				percent.addClass('price-discount brand-bg-color').html( '-' + parseInt( 100 - sale * 100 / regular ) + '% ' + saleText );
    				price.append(percent);
    			}
    
    			del.insertAfter(ins);
    		}
    	};

    Aber was nun?

    Thread-Ersteller pomull

    (@pomull)

    das schein der Rechenweg zu sein. Steht in der Woocommerce-hack.js

    // Single product price
    	var fixedPrice = function(price){
    		var ins = price.find('ins');
    		var del = price.find('del');
    
    		if( price.length && ins.length == 1 && del.length && price.find('.price-discount').length == 0 ) {
    			var separator = price.data('separator');
    			var regular = del.text().split(separator);
    			var regular = parseInt(regular[0].replace(/\D+/g,""));
    			var sale = ins.text().split(separator);
    			var sale = parseInt(sale[0].replace(/\D+/g,""));
    			var percent = $(document.createElement('div'));
    
    			if ( del.text().substring(del.text().indexOf(separator) + 1) > 0) {
    				regular = del.text().replace(/[^0-9.]/g, "")
    				sale = ins.text().replace(/[^0-9.]/g, "")
    			}
    
    			if ( price.find('.amount').length == 2 ) {
    				var saleText = stockieVariables.saleL10n.toUpperCase();
    				if( price.attr('data-sale-text') ) {
    					saleText = price.attr('data-sale-text');
    				}
    				percent.addClass('price-discount brand-bg-color').html( '-' + parseInt( 100 - sale * 100 / regular ) + '% ' + saleText );
    				price.append(percent);
    			}
    
    			del.insertAfter(ins);
    		}
    	};

    aber was nun?

    Moderator espiat

    (@espiat)

    Das ist das JS. Hab es mir nicht genauer angesehen.

    Wohl möglich wird das einfach über einen WP hook geladen und der müsste einfach deregistered werden.

    Aber da es sich um ein Premium Theme handelt, kann sich das nur jemand anschauen, der das auch selbst mal gekauft hat.

    Thread-Ersteller pomull

    (@pomull)

    Wohl möglich wird das einfach über einen WP hook geladen und der müsste einfach deregistered werden.

    Kannst du mir erklären wie man das macht?

    Moderator espiat

    (@espiat)

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)