Heim  >  Fragen und Antworten  >  Hauptteil

Fügen Sie das Gesamtgewicht einfacher und variabler Produkte im Woodmart-Mini-Warenkorb-Widget hinzu

<p>Ich verwende das Woodmart-Design und das Mini-Warenkorb-Widget und möchte das Gesamtgewicht und den Gesamtpreis einfacher und variabler Produkte anzeigen. Also habe ich den Code geändert, aber er funktioniert nicht und es tritt das folgende Problem auf: </p> <p><Qiang>1. (Gesamtgewicht): </strong>Wenn ein einfaches oder variables Produkt zum Warenkorb hinzugefügt wird, wird das <strong>Gesamtgewicht</strong> als halbes Produktgewicht angezeigt. Wenn das Produktgewicht beispielsweise auf 0,5 eingestellt ist, wird beim Hinzufügen zum Warenkorb das Gesamtgewicht im Mini-Warenkorb mit 0,25 angezeigt. </p> <p><Qiang>2. (Gesamtpreis): </strong>Wenn ein einfaches oder variables Produkt zum Warenkorb hinzugefügt wird, wird der <strong>Gesamtpreis</strong> als halber Produktpreis angezeigt. Wenn beispielsweise der Preis eines Produkts basierend auf dem Gewicht (0,5) 7500 beträgt, wird beim Hinzufügen zum Warenkorb der Gesamtpreis im Mini-Warenkorb als 3750 angezeigt. </p> <p>Danke für jede Hilfe. Vielen Dank.这是我的代码:</p> <pre class="brush:php;toolbar:false;">/* Gesamtgewicht in der Fußzeile des Mini-Warenkorb-Einkaufswagen-Widgets anzeigen*/ Funktion display_mini_cart_total_weight() { if ( ! WC()->cart->is_empty() ) { $total_weight = 0; foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { $product = $cart_item['data']; $variation_id = $cart_item['variation_id']; $weight = 0; if ( $variation_id ) { // Holen Sie sich die ausgewählte Variante $variation = wc_get_product( $variation_id ); if ( $variation ) { // Gewicht der Variation ermitteln $weight = $variation->get_weight(); } } anders { // Ermitteln Sie das Gewicht des Produkts $weight = $product->get_weight(); } $quantity = $cart_item['quantity']; // Berechnen Sie das Gewicht für das aktuelle Produkt $product_weight = $weight * $quantity; // Addiere das Gewicht des Produkts zum Gesamtgewicht $total_weight += $product_weight; } // Das Gesamtgewicht in der Fußzeile des Mini-Warenkorb-Einkaufswagen-Widgets ausgeben $total_weight_display = $total_weight . ' Kg'; // „Kg“ an das Gesamtgewicht anhängen echo '<tr class="total-weight-row"> <td colspan="3" class="total-weight-cell"> <p class="total-weight-label woocommerce-mini-cart__total">' . __('Gesamtgewicht:', 'chahar-4-rahewordpress') . '</p> <p class="total-weight-value woocommerce-Price-amount amount">' . $total_weight_display . '</p> </td> </tr>'; } } add_action( 'woocommerce_widget_shopping_cart_before_buttons', 'display_mini_cart_total_weight' );</pre></p>
P粉447495069P粉447495069433 Tage vor655

Antworte allen(1)Ich werde antworten

  • P粉681400307

    P粉6814003072023-09-05 22:03:41

    您可以检查数量是否小于 1,则必须将最小数量视为 1。请检查以下代码。

    /* Display the total weight and price in the mini cart shopping cart widget footer */
    function display_mini_cart_total_weight() {
        if ( ! WC()->cart->is_empty() ) {
            $total_weight = 0;
            $total_price = 0;
    
            foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
                $weight = 0;
                $price = 0;
                $product = $cart_item['data'];
                $variation_id = $cart_item['variation_id'];
    
                if ( $variation_id ) {
                    // Get the selected variation
                    $variation = wc_get_product( $variation_id );
    
                    if ( $variation ) {
                        // Get the weight and price of the variation
                        $weight = $variation->get_weight();
                        $price = $variation->get_price();
                    }
                } else {
                    // Get the weight and price of the product
                    $weight = $product->get_weight();
                    $price = $product->get_price();
                }
    
                $quantity = $cart_item['quantity'];
    
                if( $quantity < 1 ){
                    $quantity = 1;
                }
    
                // Calculate the weight and price of the current product
                $product_weight = $weight * $quantity;
                $product_price = $price * $quantity;
    
                // Add the product's weight and price to the total weight and price
                $total_weight += $product_weight;
                $total_price += $product_price;
            }
    
            // Output the total weight and price in the mini cart shopping cart widget footer
            $total_weight_display = $total_weight . ' Kg'; // Append ' Kg' to the total weight
            $total_price_display = wc_price( $total_price ); // Format the total price as WooCommerce price
    
            echo '<tr class="total-weight-row">
                    <td colspan="3" class="total-weight-cell">
                        <p class="total-weight-label woocommerce-mini-cart__total">' . __('Total Weight:', 'chahar-4-rahewordpress') . '</p>
                        <p class="total-weight-value woocommerce-Price-amount amount">' . $total_weight_display . '</p>
                    </td>
                </tr>';
    
            echo '<tr class="total-price-row">
                    <td colspan="3" class="total-price-cell">
                        <p class="total-price-label woocommerce-mini-cart__total">' . __('Total Price 1:', 'chahar-4-rahewordpress') . '</p>
                        <p class="total-price-value woocommerce-Price-amount amount">' . $total_price_display . '</p>
                    </td>
                </tr>';
        }
    }
    
    add_action( 'woocommerce_widget_shopping_cart_before_buttons', 'display_mini_cart_total_weight' );

    Antwort
    0
  • StornierenAntwort