Product Open Pricing (Name Your Price) for WooCommerce

Description

Product Open Pricing for WooCommerce plugin lets you create open price (i.e. “name your price” or “pay your price”) products in WooCommerce.

For each product you can optionally set:

  • Default (i.e. Suggested) price
  • Minimum price
  • Maximum price

In general settings you can also:

  • Customize frontend template
  • Enable/disable open price input on shop and category pages
  • Set input style and pattern
  • Enable/disable quantity selector
  • Set price step on frontend
  • Enable/disable step ticker
  • Optionally show the original price (for reference)
  • Customize user messages

It’s important to note that the free version allows enabling open pricing for only one product at a time.

Premium

The premium version will allow setting open pricing on multiple (i.e. unlimited number) products without restrictions.

More

Installation

  1. Upload the entire plugin folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the “Plugins” menu in WordPress.
  3. Start by visiting plugin settings at “WooCommerce > Settings > Product Open Pricing”.

Reviews

May 24, 2024 1 reply
This plugin is great and has the exact functionality we need. I use it on multiple e-commerce websites and it works perfectly. We use it for special order products or one-offs. We find a need for it for numerous orders each day. Even better, though, is the support staff. They are helpful, quick to reply, very thorough, and responsive. They’re going to help you with what you need and not shrug you off.
August 24, 2021 1 reply
thank you for creating this super-duper perfect plugin! MAY THE FORCE BE WITH YOU, always!! 🙂
September 27, 2020 1 reply
Reading the reviews I was concerned about the negative value issue. If you set the minimum amount to at least zero, if the customer sets a negative amount it correct informs them price too low and doesn’t add it to the cart. Perfect. The currency symbol can go either side of the amount with a simple cut and past in the settings field. Nice. Only slight gripe is the text is all capitals. I can live with that. Needed this to go with a donation product and every other plugin that could do this wanted at least $50 a year! This plugin works as can now allow customers to set an amount and I can control the minimum and maximum amounts, plus set the decimal point ie $1 is the minimum and you can only donate whole dollars. Absolutely what I need.
September 17, 2020 5 replies
As mentioned previously, this plugins has a real serious bug, which hasn’t be fixed yet. When you set minimum price 0, then customer can enter minus price. When he adds a product of value -20€, then when he ads some paid product for 30€, he will pay only 10€! Don’t install it until it will be fixed! It works as it should, be big apologies to a good developer, as I was using my own php customization and different approach with some custom SQL injects. This plugin among many others works simply and great! Highly recommended!
June 17, 2020 1 reply
This plugin does what it says it will do. However, the implementation is a little clumsy which makes it harder to use than it probably has to be. For example, currency symbols before the monetary amount are not on the same line as the input field — they are above it, which looks bad and can only be fixed with custom css not available through the plugin. The plugin also uses terms that are not readily understood, like “position priority” (which I think might mean zoom index, but it’s hard to tell) and “display on loop.” This plugin would benefit by a refresh of the administrator interface with the goal of making the experience smoother and easier to understand.
Read all 18 reviews

Contributors & Developers

“Product Open Pricing (Name Your Price) for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.7.2 – 2024-08-28

  • UPDATE: updated .pot file for translations.

1.7.1 – 2023-07-13

  • FIX: PHP 8.2 notices.

1.7.0 – 2021-09-30

  • UPDATE: PHP 8 now officially supported.
  • UPDATE: disable Payment Request Buttons on product page for open pricing products. An amount must be entered and added to cart first. (DETAILS: PRBs [e.g. Apple Pay / Google Pay / PayPal] don’t always work well with open pricing products, since the price is not determined until after the user selects the amount. In v1.6.0 we used a temporary price of $1 in the background, which would be updated later with the real user-entered amount. However this caused problems with Apple Pay in certain [not all] situations, where the user could possibly still see that $1 amount on the initial Apple Pay screen. The correct amount would be charged at the end, but this was too confusing to customers. We’ve concluded the only 100% reliable way to handle these cases is to make sure the open pricing product is fully added to cart BEFORE the payment process begins.)
  • UPDATE: added filter ‘wpwham_product_open_pricing_metabox_options’.
  • UPDATE: updated .pot file for translations.

1.6.0 – 2021-04-22

  • NEW: compatibility with “WooCommerce Product Add-ons” plugin (the official WooCommerce one).
  • NEW: compatibility with WooCommerce Stripe Gateway’s Apple Pay button.
  • FIX: make sure “step” defaults to “any” (on open price input field).
  • UPDATE: minor code refactoring.

1.5.0 – 2020-12-28

  • NEW: Add setting for “add to cart” button text.
  • FIX: UTF-8 issue in “add to cart” buttons when enabled in loop.
  • FIX: issue with open pricing when part of a grouped product.
  • UPDATE: updated .pot file for translations.

1.4.7 – 2020-09-17

  • UPDATE: bump tested versions

1.4.6 – 2020-08-25

  • FIX: PHP notice.
  • UPDATE: display our settings in WC status report.
  • UPDATE: updated .pot file for translations.

1.4.5 – 2020-06-12

  • FIX: PHP notice.

1.4.4 – 2020-02-23

  • UPDATE: bump tested versions

1.4.3 – 2019-12-18

  • FIX: issue where min_price=0 ignored.

1.4.2 – 2019-11-15

  • FIX: if “force number of decimals” is checked in the settings, a user can’t change the price field on a mobile device.

1.4.1 – 2019-11-15

  • UPDATE: bump tested versions

1.4.0 – 2019-09-11

  • FIX: removed “min” and “max” attributes from price input field. (This was causing browser-based validation messages to appear before our own validation messages. If for some reason you want to reverse this change, use the filter ‘wpw_product_open_pricing_input_custom_attributes’.)
  • UPDATE: updated .pot file for translations

1.3.2 – 2019-03-19

  • Dev – Plugin author data updated.

1.3.1 – 2019-02-22

  • Dev – Single Product Page Options – “Input field position” options added.
  • Dev – Shop/Category Page Options – “Input field loop position” options added.
  • Dev – Frontend Options – “Force number of decimals” option added.

1.3.0 – 2019-02-08

  • Dev – Advanced – “Fix mini cart” option added.
  • Dev – Admin – “Add Open Pricing column” option added.
  • Dev – Messages – Default values for “Message on price too low” and “Message on price too high” changed.
  • Dev – “Raw” input is now allowed in all corresponding settings.
  • Dev – Major code refactoring and clean up.
  • Dev – Admin settings restyled.

1.2.5 – 2019-01-29

  • Dev – “Input style” option added.
  • Dev – “Input pattern” option added.
  • Dev – Admin settings restyled and descriptions updated.
  • Dev – Plugin URI updated.

1.2.4 – 2019-01-17

  • Fix – “Enable step ticker” option fixed.

1.2.3 – 2018-10-21

  • Add warning on description about free version restriction which allows open pricing for only one product at a time.

1.2.2 – 2018-10-09

  • Fix compatibility with Currency Switcher on getting value from request.
  • Add option to display original price on both loop and single product page.

1.2.1 – 2018-08-18

  • Fix input sanitizing.

1.2.0 – 2018-08-17

  • Fix woocommerce_loop_add_to_cart_link filter with correct args quantity.

1.1.9 – 2018-08-16

  • Add option to include open input field on loop.
  • Add option to overwrite frontend template option if input field is displayed on loop.
  • Improve open price input sanitizing.
  • Add compatibility with ajax add to cart if loop option is enabled.
  • Remove Frontend Label option.
  • Fix min/max prices when using currency switcher.
  • Rearrange message options on admin.

1.1.8 – 2018-08-06

  • Improve compatibility with Currency Switcher for WooCommerce plugin converting min and max value.

1.1.7 – 2018-08-06

  • Change the way to override product prices, replacing ‘get_cart_item_open_price_from_session()’ by ‘override_product_price()’ and replacing ‘woocommerce_get_cart_item_from_session’ filter by ‘woocommerce_before_calculate_totals’.
  • Fix compatibility with Currency Switcher for WooCommerce plugin.

1.1.6 – 2018-07-26

  • Add compatibility with Currency Switcher for WooCommerce plugin.
  • Add ‘aopwc_frontend_input_filter’ filter to setup where the frontend field is going to be displayed. Default is ‘woocommerce_before_add_to_cart_button’.

1.1.5 – 2018-06-21

  • Add option to remove up/down ticker buttons from the input field.

1.1.4 – 2018-06-18

  • Add %minimum_price% and %max_price% to frontend template.
  • Add span to %currency_symbol% template.
  • Update “WC tested up to”.

1.1.3 – 2018-05-07

  • Add min and max attributes for price input.

1.1.2 – 2018-04-10

  • Dev – “Price step” step decreased to 0.000000001.
  • Dev – Admin settings descriptions updated.
  • Dev – Plugin settings array stored as main class property.

1.1.1 – 2018-01-02

  • Dev – “Disable Quantity Selector” option added.
  • Dev – Admin settings restyled.
  • Dev – “WC tested up to” added to plugin header.

1.1.0 – 2017-07-25

  • Dev – WooCommerce v3 compatibility – Getting product ID and status with functions (instead of accessing properties directly).
  • Dev – WooCommerce v3 compatibility – woocommerce_get_price replaced with woocommerce_product_get_price.
  • Dev – Autoloading plugin options.
  • Dev – Link updated from http://coder.fm to https://wpcodefactory.com.
  • Dev – Plugin header (“Text Domain” etc.) updated.
  • Dev – POT file added.
  • Dev – Code cleanup.

1.0.0 – 2017-02-01

  • Initial Release.