Fügen Sie auf der Woocommerce-Produktseite einen benutzerdefinierten Text nach dem Preis hinzu

Lesezeit: 3 Minuten

Ich arbeite an einem herausragenden Thema für meine E-Commerce-Website. Ich möchte „B“ nach dem Preis auf der Woocommerce-Produktseite anzeigen. Die Seite wird angezeigt wie "$99,99"

Ich möchte, dass es so angezeigt wird: "$99,99 TEXT"

Ich habe den Code dafür:

function change_product_price( $price ) {
    $price .= ' TEXT';
    return $price;
}
add_filter( 'woocommerce_get_price_html', 'cw_change_product_price_display' );
add_filter( 'woocommerce_cart_item_price', 'cw_change_product_price_display' );

Jetzt möchte ich wissen, wo ich den Code im Woo-Commerce-Verzeichnis hinzufügen kann. Jede Hilfe wäre dankbar.

Danke

Benutzeravatar von Mykyta Dudariev
Mykyta Dudariev

Fügen Sie diesen Code ein functions.php Ihres Themas:

function cw_change_product_price_display( $price ) {
    $price .= ' TEXT';
    return $price;
}
add_filter( 'woocommerce_get_price_html', 'cw_change_product_price_display' );
add_filter( 'woocommerce_cart_item_price', 'cw_change_product_price_display' );

  • Du meinst Functions.php?

    – Asif Ameer

    14. November 2017 um 20:40 Uhr

  • @AsifAmeer Ja, tut mir leid functions.php. Ich habe meine Antwort geändert.

    – Mykyta Dudariev

    15. November 2017 um 8:20 Uhr

Benutzeravatar von Andy Lr
Andy Lr

Der Name der Funktion, die Sie aufrufen add_filter ist nicht derselbe wie der Name Ihrer tatsächlichen Funktion. Anscheinend hast du das vergessen _display im Funktionsnamen.

Im folgenden Code ist die Funktion name cw_change_product_price_display Und cw_change_product_price_display wird aufgerufen add_filter

function cw_change_product_price_display( $price ) {
    $price .= ' TEXT';
    return $price;
}
add_filter( 'woocommerce_get_price_html', 'cw_change_product_price_display' );
add_filter( 'woocommerce_cart_item_price', 'cw_change_product_price_display' );

  • Während Ihr Beitrag möglicherweise eine Lösung bietet, gelten reine Code-Antworten als „schlechte Antworten“. Bitte fügen Sie eine Erklärung dazu hinzu, was Ihre eigentliche Änderung am Code ist und wie er sich verhält, was er tut und warum diese Änderung notwendig ist.

    – Korashen

    13. September 2018 um 11:12 Uhr

Getestet für Woocommerce 6.xx – 2022

WICHTIG: Wenn Sie die Steuerberechnung (Woocommerce -> Einstellungen -> Steuer aktivieren) in Woocommerce aktiviert haben, haben Sie im Admin-Bereich die Möglichkeit, nach dem Preis (Suffix) alles hinzuzufügen, was Sie möchten. Diese Option finden Sie im Admin-Dashboard und unter Woocommerce -> Einstellungen -> Steuern.

Die unten bereitgestellten Codeausschnitte können in die Datei „functions.php“ des Theme-Ordners Ihres Kindes eingefügt werden. Ich würde Ihnen dringend empfehlen, ein untergeordnetes Theme zu verwenden (falls vom Theme bereitgestellt oder eines zu erstellen), damit bei der Aktualisierung Ihres Themes keine dieser Änderungen gelöscht werden.

Woocommerce bietet seit geraumer Zeit einen Filter an, mit dem Sie ein Preissuffix hinzufügen können, und genau das möchten Sie in Ihrem Fall.

add_filter( 'woocommerce_get_price_suffix', 'add_some_text_after_price', 99, 4 );

function add_some_text_after_price ($html, $product, $price, $qty){
    $html .= ' TEXT'; //You can write whatever you want here. Just stay inside the ' '
    return $html;
}

Wie in den anderen Antworten bereits angedeutet wurde, ist der Name der Funktion in Ihrem Filter nicht mit dem Namen der Funktion identisch, mit der Sie Ihre Aktion ausführen.

Der Name Ihrer Funktion: change_product_price

Und in Ihren Filtern, in denen Sie diese Aktion hinzufügen möchten, rufen Sie Folgendes auf: cw_change_product_price_display

Es wird also nichts passieren und nichts funktionieren, wie die Funktion „Du rufst an, ich bin nirgendwo zu finden“.

Außer dem Hinzufügen eines Suffixes können Sie auch ein Präfix hinzufügen, indem Sie einen der Filter verwenden, die Sie bereits verwenden (falls jemand so etwas benötigt).

add_filter( 'woocommerce_get_price_html', 'my_function', 99, 2 );)

function my_function( $price, $product ){
    $price="Text " . $price;
    return $price;
}

Allgemeinwissen

Die 99 in den Filtern ist die Prioritätszahl, mit der der Filter vor allen anderen Filtern startet. Das heißt, wenn Sie einige Filter vor anderen starten möchten, können Sie die Priorität ändern. Die zweite Zahl ist die Anzahl der Argumente ($price, $html, …), die Sie in Ihre Funktion einfügen.

In den meisten Fällen werden beide Nummern benötigt.

1451020cookie-checkFügen Sie auf der Woocommerce-Produktseite einen benutzerdefinierten Text nach dem Preis hinzu

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

Privacy policy