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?

3

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