WooCommerce: Como editar o get_price_html
2 respostas
- votos
-
- 2013-01-27
Os arquivos denúcleoe pluginnunca devem sereditados diretamente,pois quaisquer atualizaçõespoderiam sobrescrever suas alterações. Se você olharnafonte WooCommercenométodo
get_price_html
,há uma série de filtros disponíveispara Modifique a saída dafunção.ver
add_filter
no códiceparamaisinformações sobre adicionarfiltros aapply_filters
chamadas.de
get_price_html
emclass-wc-product
:return apply_filters('woocommerce_get_price_html', $price, $this);
Então,para adicionar seuprópriofiltro:
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 ); }
-
Obrigadopela resposta,pelamaneira como quandoeuexcluo o conteúdo dafunçãoprincipal,ele ainda retorna a saída comonormalThanks 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
-
Então vamos dizer se houvesse uma vendae retorna-me `
£ 2£ 1 `,comopossomudarissopara 'foi:£ 2Now: £ 1 `com umfiltro?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
-
Nãotenho certeza,nãomuitofamiliarizado com o WooCommerce,talvez outra aulaestenda-a.Veja Editar acimapara sua segundapergunta.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,;),grande ajudaBrill, ;), great help
- 0
- 2013-01-27
- Lucky Luke
-
Estoutentando saber que o que acontecenofiltropadrão "woocommerce_get_price_html"para `$preço`.Nomeu site,WooCommercemostra 0 $paraprodutosgratuitosem vez de "grátis!`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
-
Qual arquivotem essafunção?Não consigoencontrar o arquivo.ObrigadoWhich 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>'; } }
-
Mesmo que seu códigopuderfuncionar (eeunãotenhomotivosparapensar quenão)este é um site de Q/A,não um repositório de código,então émelhor compartilhar o conhecimentoe o conhecimentoexplicando seu código,em vez de apenasescrever código semexplicaçãonem comentáriosembutidos ...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
-
O códigotambém usapropriedades de objeto quenão éboa.the code also uses object properties which is not good.
- 0
- 2018-05-08
- Svetoslav Marinov
Euestoutentandoeditar o valor depreçopara um únicoproduto.
em
produto único/preço.php
há uma chamada demodelopara$product- >get_price_html
.Comopossoeditaressafunção/métodopara alterar aforma como o HTML é apresentado?Nomomento,mesmo seeuexcluirtodo o conteúdo dafunção localizadaem Classe-WC-produto ,ele ainda éexibidomilagrosamente?Alguém sabepor quê?