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
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' );
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' );
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.