Fügen Sie nur auf der Checkout-Seite von Woocommerce einen Text an den Gesamtpreis an

Lesezeit: 2 Minuten

Benutzer-Avatar
Les

Ich habe den folgenden Code, der Suffix-Text im Gesamtabschnitt von BEIDEN Warenkorb- und Checkout-Seiten hinzufügt:

add_filter( 'woocommerce_cart_total', 'custom_total_message' );
function custom_total_message( $price ) {
    $msg = 'Prices for grocery items may vary at store. Final bill will be based on store receipt.<br />';

    return $price . $msg;
}

Ich möchte jedoch nur, dass der Suffix-Text NUR auf der Checkout-Seite, aber nicht auf der Warenkorbseite angezeigt wird.

Wie mache ich das?

  • Ich würde es vermeiden, den Preis auf diese Weise zu ändern, vielleicht so etwas wie add_action( 'woocommerce_after_order_notes', 'custom_total_message') wäre angemessener. Ich habe dies schon einmal für Nachrichten vom Typ “Bitte erlauben Sie 14 Tage für die Auftragsbearbeitung” verwendet.

    – Künstlerischer Phönix

    19. März 2019 um 22:22 Uhr

Benutzer-Avatar
LoicTheAztec

Einfach verwenden Bedingte Woocommerce-Tags um die Anzeige nur auf der Checkout-Seite einzuschränken…

Jetzt sollten Sie stattdessen besser den folgenden Haken verwenden, um Probleme zu vermeiden, Float-Zahlen mit Stichen auf die Gesamtmenge zu schmelzen:

add_filter( 'woocommerce_cart_totals_order_total_html', 'custom_total_message_html', 10, 1 );
function custom_total_message_html( $value ) {
    if( is_checkout() )
        $value .= __('Prices for grocery items may vary at store. Final bill will be based on store receipt.') . '<br />';

    return $value;
}

Oder noch besser in einer separaten Tabellenzeile nach der Summe, verwenden Sie stattdessen Folgendes:

add_action( 'woocommerce_review_order_after_order_total', 'review_order_after_order_total_callback' );
function review_order_after_order_total_callback(){
    $text = __('Prices for grocery items may vary at store. Final bill will be based on store receipt.');

    ?><tr class="order-total"><th colspan="2"><?php echo $text; ?></th></tr><?php
}

Der Code geht in die Datei function.php Ihres aktiven Child-Themes (oder Themes). Getestet und funktioniert.


Wenn Sie sich entscheiden, Ihren anfänglichen Hook beizubehalten, verwenden Sie Folgendes:

add_filter( 'woocommerce_cart_total', 'custom_total_message', 10, 1 );
function custom_total_message( $price ) {
    if( is_checkout() )
        $price .= __('Prices for grocery items may vary at store. Final bill will be based on store receipt.') . '<br />';

    return $price;
}

Der Code geht in die Datei function.php Ihres aktiven Child-Themes (oder Themes). Ungetestet.

  • Frage – wie würde ich dieselbe Nachricht hinzufügen, aber auf der Seite „Bestellung erhalten/Danke“?

    – Les

    20. März 2019 um 20:03 Uhr

  • @Les Wo in Auftrag erhalten? Siehe diesen antwortbezogenen Thread stackoverflow.com/a/55131790/3730754

    – LoicTheAztec

    20. März 2019 um 21:31 Uhr


1372730cookie-checkFügen Sie nur auf der Checkout-Seite von Woocommerce einen Text an den Gesamtpreis an

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

Privacy policy