Custom Empty Price for WooCommerce
Custom Empty Price for WooCommerce
Description
This plugin will allow you to completely customise the empty price HTML on a single product page. It can be used to add a ‘CONTACT FOR PRICING’ call to action button,
some advisory text, or any custom HTML you choose.
There are three ‘content types’ available for flexibility & ease of use:
- A simple text box with options for bold or italic styling
- A button with an optional link
- An option to add your own custom HTML
By default it will use the styles available in your custom theme, but each content type has a configurable CSS class, should you wish to style the content further.
Note on variable products:
The custom content will only show on variable products if none of the variations have a price set. Due to the nature of variable products, this will result in an out of stock message being displayed. If you do not wish to have this out of stock message, the simplest option is to only use this on ‘Simple’ or ‘Grouped’ products.
Installation
From your WordPress dashboard
- Visit ‘Plugins > Add New’
- Search for ‘Custom Empty Price for WooCommerce’
- Activate ‘Custom Empty Price for WooCommerce’ from your Plugins page.
- Visit ‘Custom Empty Price’ in the ‘Settings’ submenu to access the settings.
From WordPress.org
- Download ‘Custom Empty Price for WooCommerce’.
- Upload the ‘woo-custom-empty-price’ directory to your ‘/wp-content/plugins/’ directory, using your favorite method (ftp, sftp, scp, etc…)
- Activate ‘Custom Empty Price for WooCommerce’ from your Plugins page.
- Visit ‘Custom Empty Price’ in the ‘Settings’ submenu to access the settings.
Faq
Technically, yes, as long as you use the custom HTML option. As the custom HTML will not allow you to add your own script tags for security reasons, you will have to enqueue your own Javascript seperately from the plugin. Your best option is to use a WordPress Shortcode. Support for shortcodes was added in V1.1.0.
I am considering adding the ability to enqueue your own scripts as a built-in feature, so if you require this kind of functionality, just ask.
Yes, I have two other ( completely free ) plugins called WP Dev Flag & WP Custom Author URL, both on the WordPress Repository here:
Reviews
Simple and straightforward
By elaborate (Azinfiro) on February 14, 2025
Perfect and elegant execution. Strikes just the right balance in how to handle the simple task of adding a call to action button or otherwise handling an empty price. Customization is simple, adding just a single CSS class that you can override if you wish. This is how all plugins ought to work.
Works Perfectly
By Design Locker on November 4, 2020
works well
By Torri (elitontorri) on August 25, 2020
Works great, thanks for this!
By jodzeee on February 26, 2020
!important to get the button to follow the same format as my theme's buttons. Does what it says on the tin
By Dan Wich (MailMechanic) (mailmechanic) on May 29, 2019
Changelog
2.0.3
- Fix all output escaping in admin settings callbacks (wp_kses / wp_kses_post).
- Remove dead code: leftover global options from unrelated plugin, unused template override method.
- Add ‘Show in product listings’ setting with placeholder to maintain equal card heights when disabled.
- Fix front-end style attribute to avoid empty color value.
2.0.2
- Fix text domain to match plugin slug (woo-custom-empty-price).
- Fix escaping on all echoed output.
- Add Requires Plugins header for WooCommerce dependency.
- Update tested up to WordPress 6.9.
- Update minimum required WordPress version to 6.2.
2.0.1
- Update plugin name to comply with WooCommerce trademark guidelines.
2.0.0
- Full codebase rewrite. Remove code fluff, restructure code.
1.1.5
- Remove unnecessary hook that was causing a warning.
1.1.4
- Fixed bug causing errors on some themes, eg. Storefront.
1.1.3
- Full code factoring which no longer uses WPPB, resulting in a much lighter codebase.
Also the plugin now uses its own override template for single-product/price.php to make it more consistent across themes.
1.1.2
- Updated deprecated jQuery .load() function to use .on()
1.1.0
- Added shortcode support to HTML content type.
1.0.0
- First Version.




