Heim >Backend-Entwicklung >PHP-Tutorial >Wie ersetze ich in WooCommerce 3 die variable Preisspanne durch den gewählten Variationspreis?
Bei variablen Produkten in WooCommerce zeigt das Standardlayout eine Preisspanne unter dem Produkt an Titel. Dies kann für Kunden verwirrend und irreführend sein, die den genauen Preis des Produkts mit ihren ausgewählten Variationen wissen möchten.
Dieser Code befasst sich mit dem Problem, indem die Preisspanne entfernt und nur der niedrigste Produktpreis angezeigt wird. Darüber hinaus wird der angezeigte Preis basierend auf der ausgewählten Variante aktualisiert.
<br>add_action( 'woocommerce_before_single_product', 'move_variations_single_price', 1 );<br>Funktion move_variations_single_price(){</p> <pre class="brush:php;toolbar:false">global $product, $post; if ( $product->is_type( 'variable' ) ) { // removing the variations price for variable products remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); // Change location and inserting back the variations price add_action( 'woocommerce_single_product_summary', 'replace_variation_single_price', 10 ); }
}
function replace_variation_single_price(){
global $product; // Prices and calculations $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) ); $price = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) ); sort( $prices ); $saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); if ( $price !== $saleprice && $product->is_on_sale() ) { $price = '<del>' . $saleprice . $product->get_price_suffix() . '</del> <ins>' . $price . $product->get_price_suffix() . '</ins>'; } ?> <style> div.woocommerce-variation-price, div.woocommerce-variation-availability, div.hidden-variable-price { height: 0px !important; overflow:hidden; position:relative; line-height: 0px !important; font-size: 0% !important; } </style> <script> jQuery(document).ready(function($) { $('select').blur( function(){ if( '' != $('input.variation_id').val() ){ if($('p.availability')) $('p.availability').remove(); $('p.price').html($('div.woocommerce-variation-price > span.price').html()).append('<p>
}
< ;h3>Zusätzlich Hinweise:
Das obige ist der detaillierte Inhalt vonWie ersetze ich in WooCommerce 3 die variable Preisspanne durch den gewählten Variationspreis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!