WooCommerce: So bearbeiten Sie get_price_html
2 Antworten
- Stimmen
-
- 2013-01-27
Core- und Plugin-Dateien solltenniemals direktbearbeitet werden,da Updates Ihre Änderungen überschreiben könnten. Wenn Siein der WooCommerce-Quellenach der Methode
get_price_html
suchen,steheneine Reihe von Filtern zur Verfügung Ändern Sie die Ausgabe der Funktion.Weitere Informationen zum Hinzufügen von Filtern zu
add_filter
im Codex. http://codex.wordpress.org/Function_Reference/apply_filters">apply_filters
Anrufe.Von
get_price_html
inclass-wc-product
:return apply_filters('woocommerce_get_price_html', $price, $this);
Sofügen Sie Ihreneigenen Filter hinzu:
add_filter( 'woocommerce_get_price_html', 'wpa83367_price_html', 100, 2 ); function wpa83367_price_html( $price, $product ){ return 'Was:' . str_replace( '<ins>', ' Now:<ins>', $price ); }
Core and plugin files should never be edited directly, as any updates could overwrite your changes. If you look in WooCommerce source at the
get_price_html
method, there are a number of filters available to modify the output of the function.See
add_filter
in Codex for more info on adding filters toapply_filters
calls.From
get_price_html
inclass-wc-product
:return apply_filters('woocommerce_get_price_html', $price, $this);
So to add your own filter:
add_filter( 'woocommerce_get_price_html', 'wpa83367_price_html', 100, 2 ); function wpa83367_price_html( $price, $product ){ return 'Was:' . str_replace( '<ins>', ' Now:<ins>', $price ); }
-
Vielen Dankfür die Antwort. Übrigens,wennich den Inhalt der Hauptfunktion lösche,wird die Ausgabe weiterhin wiegewohnt zurückgegebenThanks for the answer, by the way why when I delete the contents of the main function it still returns the output as normal
- 0
- 2013-01-27
- Lucky Luke
-
Nehmen wir also an,esgabeinen Verkauf,dermir "
£ 2£ 1 " zurückgibt. Wie kannich dasin "Was:£ 2 " ändern?del> Jetzt: £ 1 `miteinem Filter?So lets say if there was a sale on and it returns me `£2£1`, how can i change that into `Was:£2Now:£1` with a filter?- 1
- 2013-01-27
- Lucky Luke
-
nicht sicher,nicht allzu vertrautmit WooCommerce,vielleichterweiterteseine andere Klasse.Siehe Bearbeiten obenfür Ihre zweite Frage.not sure, not too familiar with WooCommerce, perhaps another class extends it. see edit above for your second question.
- 0
- 2013-01-27
- Milo
-
Brill,;),große HilfeBrill, ;), great help
- 0
- 2013-01-27
- Lucky Luke
-
Ich versuche zu wissen,wasim Standardfilter "woocommerce_get_price_html"für "$price"passiert.Aufmeiner Website zeigt woocommerce 0 $für kostenlose Produkte anstelle von "Free!"I am trying to know that what happening in default `woocommerce_get_price_html` filter for `$price`. In my site,woocommerce shows 0$ for free products instead `Free!`
- 0
- 2016-12-07
- SKMohammadi
-
Welche Datei hat diese Funktion?Ich kann die Dateinichtfinden.Vielen DankWhich file has that function? I can't find the file. Thanks
- 0
- 2020-06-19
- Si8
-
- 2014-01-03
function wpa83368_price_html( $price,$product ){ // return $product->price; if ( $product->price > 0 ) { if ( $product->price && isset( $product->regular_price ) ) { $from = $product->regular_price; $to = $product->price; return '<div class="old-colt"><del>'. ( ( is_numeric( $from ) ) ? woocommerce_price( $from ) : $from ) .' Retail </del> | </div><div class="live-colst">'.( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) .'Our Price</div>'; } else { $to = $product->price; return '<div class="live-colst">' . ( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) . 'Our Price</div>'; } } else { return '<div class="live-colst">0 Our Price</div>'; } }
function wpa83368_price_html( $price,$product ){ // return $product->price; if ( $product->price > 0 ) { if ( $product->price && isset( $product->regular_price ) ) { $from = $product->regular_price; $to = $product->price; return '<div class="old-colt"><del>'. ( ( is_numeric( $from ) ) ? woocommerce_price( $from ) : $from ) .' Retail </del> | </div><div class="live-colst">'.( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) .'Our Price</div>'; } else { $to = $product->price; return '<div class="live-colst">' . ( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) . 'Our Price</div>'; } } else { return '<div class="live-colst">0 Our Price</div>'; } }
-
Selbst wenn Ihr Codefunktionieren kann (undich habe keinen Grund zu der Annahme,dass diesnicht der Fallist),handeltes sich umeine Q/A-Site,nicht umein Code-Repository. Daheristesbesser,Fachwissen und Wissen zuteilen,um Ihren Code zuerklären,anstattnur Code ohne Erklärung zu schreibennoch Inline-Kommentare ...Even if your code can work (and I have no reason to think it doesn't) this is a Q/A site, not a code repository so it's better share expertice and knowledge explaining your code, instead of just write code with no explaination nor inline comments...
- 6
- 2014-01-03
- gmazzap
-
Der Code verwendet auch Objekteigenschaften,dienichtgut sind.the code also uses object properties which is not good.
- 0
- 2018-05-08
- Svetoslav Marinov
Ich versuche,den Preiswertfürein einzelnes Produkt zubearbeiten.
In
single-product/price.php
gibt eseinen Vorlagenaufruffür$product->get_price_html
.Wie kannich diese Funktion/Methodebearbeiten,um die Darstellung des HTML-Codes zu ändern?Selbst wennichim Moment dengesamten Inhalt der Funktionin
class-wc-product
lösche,wird sie auf wundersame Weise angezeigt?Weißjemand warum?