Snippets · WooCommerce
WooCommerce-Preise auf ,95 runden
Krumme Preise wie 47,23 € wirken zufällig. Dieses Snippet rundet Regulär- und Aktionspreis beim Speichern eines Produkts auf den nächsten Betrag mit ,95 – auch bei Varianten.
Worum es geht
Nach Rabatten oder Preisänderungen stehen im Shop Preise mit beliebigen Centbeträgen. Von Hand nachrunden ist bei vielen Artikeln nicht zu schaffen.
So setzen Sie es ein
- Den Code in die functions.php Ihres Child-Themes oder in ein Snippet-Plugin einfügen – ohne öffnendes
<?php, wenn die Datei schon damit beginnt. - Ein Produkt öffnen und speichern: Aus 47,23 € wird 46,95 €, aus 47,80 € wird 47,95 €.
- Bestehende Preise ändern sich erst, wenn das jeweilige Produkt gespeichert wird.
Was das Snippet nicht kann
- Greift nur beim Speichern im WordPress-Backend, nicht bei Importen oder Warenwirtschafts-Abgleichen.
- Rundet nicht auf ,99 oder 5-Cent-Schritte.
- Keine Rabattregeln – nur Rundung.
Vor dem Einbau
Testen Sie Snippets zuerst in einer Testumgebung und legen Sie eine Datensicherung an. Code ohne Gewähr.
Kopieren und einfügen
/**
* MEK7 Snippet: Preise beim Speichern auf ,95 runden
* Gilt für Regulär- und Aktionspreis von Produkten und Varianten.
*/
add_action( 'woocommerce_admin_process_product_object', 'mek7_preise_95_runden' );
add_action( 'woocommerce_admin_process_variation_object', 'mek7_preise_95_runden' );
function mek7_preise_95_runden( $product ) {
foreach ( array( 'regular_price', 'sale_price' ) as $feld ) {
$preis = $product->{"get_$feld"}( 'edit' );
if ( '' === $preis || null === $preis ) {
continue;
}
$preis = (float) $preis;
$gerundet = floor( $preis ) + 0.95;
if ( $gerundet - $preis > 0.5 ) {
$gerundet -= 1; // näher am ,95-Betrag darunter
}
$product->{"set_$feld"}( max( 0.95, round( $gerundet, 2 ) ) );
}
}Keine Zeit für Code?
Wir bauen das Snippet in Ihren Shop ein und testen es – zum Festpreis, sicher vor Theme-Updates im Child-Theme oder Snippet-Plugin.
Brand Discount Tool
Rabatte nach Marke und Preisbereich, Rundung auf ,95, ,99 oder Cent-Schritte – auch bei Preisen, die eine Warenwirtschaft direkt in die Datenbank schreibt.