WooCommerce: How to edit the get_price_html

I am trying to edit the price value for a single product.

In single-product/price.php there is a template call to $product->get_price_html. How can I edit that function/method to change the way the HTML is presented?

At the moment even if I delete all the contents of the function located in class-wc-product it still miraculously displays? Anyone know why?


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 to apply_filters calls.

From get_price_html in class-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 );

Leave a Comment