Shatner – Name your Own Price Integration for WooCommerce
by Sean Voss · eCommerce
Also makes 1 other plugin · 5.1K+ installs across the portfolio →
Shatner lets users name their own price
43 health vs 68 average across 5,561 eCommerce plugins
High removal-risk signals
63/100Maintenance and integrity signals that tend to precede a WordPress.org removal. Not an official status, a heads-up to act.
- Long abandoned. No update in 12+ years — the top precursor to removal once a vulnerability is found.
- Compatibility drift. Tested only up to WordPress 3.6.1, well behind 6.8.
Directory ranking optimization
How it's scored →How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.
Under-optimized
Biggest win: Update recency
To rank higher: Last updated 4423 days ago — ship an update; wp.org decays a listing's search weight after ~180 days.
Get the full rank-higher report →Daily downloads
Since 2022-10-05 · 1,427 days · wp.org + Plugin Pulse archive
30-day downloads
Rolling 30-day volume · peaks are release surges
70
now · peak 73
Directory rank vs rivals
wp.org popularity rank over time · higher is better · when a rival's line climbs above yours, they've overtaken you
Rating trend
Star average over time · dips mark rough releases
Update activity
How busy the existing users are, measured as downloads in the last 30 days for every 1,000 active sites. A spike means a new release everyone's pulling; a long, slow decline means an aging user base that updates less.
Release cadence
No release in a yearHow often this plugin actually ships. A steady rhythm is the maintenance signal a single "last updated" date can't show.
0
releases in the last 12 months
12.1y ago
latest release · v1.7
15
tagged releases on record
Recent releases
What its installed base runs
via wordpress.orgShare of active installs on each version of this plugin · 100% run the current release. Green is the current release; a big slice on older versions is a user base that has stopped updating.
Estimated active installs
The public count shows “70+”. Our estimate pins where the real number sits.
Refined from the date this plugin crossed into its current band.
Install history · since 2015-09-27 · 1,382 observations
Estimated value
What this plugin might earn a year, and what it might sell for. Modeled from public signals; we don't see anyone's books.
Est. annual revenue
Est. acquisition value
No paid tier is visible, so we don't put a figure on revenue or sale value: that would be guessing. The install base is a real asset to an acquirer, just not one public data lets us price. A small install base leaves thin data to model from. The recent download trend is too spiky to read.
Details
Recent reviews
All reviews on wp.org ↗- ★★★★★ velmareth10.3y ago
When this plugin is enabled, Woocommerce prevents the shopfront from linking to any product you set up as name your own price
Read on wp.org ↗ - ★★★★★ ashtonh10.8y ago
This is a simple but effective plugin. Functionally it does exactly what i need. One strange User Experience concern that is a big one as it will lead to a decrease in sales: It allows you to set a minimum amount that you are willing to accept but on the product page it displays that amount as the ‘suggested price’ instead of the ‘minimum price’ I don’t want to suggest to my customers to pay the minimum amount. I want them to pay what they want. It would be great if this could be changed or better yet if we had the options to change that text ourselves. I know its prob an easy fix via CSS but I wouldn’t know how to do that. Thanks,
Read on wp.org ↗ - ★★★★★ Gonzalo11.0y ago
Part of the plugin is printed to the html output!, both front end and control panel. Uninstalled and deleted. It’s a shame Update: ok, dsthedev is right, the problem are the PHP short tags. On my server I have disabled it, so obviously, the plugin is not working. I followed the recommendation of dsthedev and I edited the files that cause the problem. They are, as he says, the files: – name_price_wc_plugin.php (line 1) – \templates\single-product\price.php (lines 41 and 52) you have to change this: <? to this: <?php The plugin version of which I speak is the 1.7 And it solved. The plugin works well and does the job perfectly. It’s a shame to have this foolish error. I hope that in the next update the author corrected.
Read on wp.org ↗ - ★★★★★ dsthedev11.1y ago
Works as advertised. Only issue I had was that the plugin is using a few shorthand php opening tags <? when it should be using <?php. To users who see a wall of errors at the top of the page, try this: Open name_price_wc_plugin.php and change line 1 from <? to <?php Also open templates/single-product/price.php and change line 52 from <? } ?> to <?php } ?>. If this doesn’t help simply change the version to something old (1.0) and update the plugin, it will revert it back to normal. To the developer: please use full tags, always. Other than that, this plugin is great.
Read on wp.org ↗ - ★★★★★ gep751611.2y ago
When installed got the same mess as espiacongreso. Found the developer had used the php short open tags in a few places. After checking all of the php files and replacing the plugin works. Though having some difficulty with the plugin settings for the label. However a user is able to set their own price.
Read on wp.org ↗ - ★★★★★ espiacongreso11.2y ago
That was what I got from installing (‘shatner_label’, “Name your own price”); wp_enqueue_script(‘shatner’, plugins_url(‘/shatner.js’,__FILE__), array(‘jquery’) ); if ( is_admin() ){ // admin actions $this->init_form_fields(); add_action( ‘admin_menu’, array($this, ‘add_shatner_menu’ )); add_action( ‘admin_init’, array($this, ‘admin_init’ )); add_action(‘woocommerce_before_calculate_totals’, array($this, ‘add_custom_price’ )); add_action(‘woocommerce_product_options_pricing’, array($this, ‘add_donation_radio’)); add_action(‘save_post’, array($this, ‘set_named_price’)); } else { if(get_option(‘use_shatner_templates’, 1 ) == 1) { add_filter(‘woocommerce_locate_template’, array($this, ‘template_override’),10,3); add_filter(‘woocommerce_loop_add_to_cart_link’, array($this, ‘remove_link’),10); } add_action(‘woocommerce_product_options_pricing’, array($this, ‘add_donation_radio’)); add_action(‘save_post’, array($this, ‘set_named_price’)); add_action(‘woocommerce_add_to_cart’, array($this, ‘add_to_cart_hook’)); add_action(‘woocommerce_before_calculate_totals’, array($this, ‘add_custom_price’ )); add_action(‘init’, array($this, ‘init_css’)); } } public function remove_link($link) { global $post; $post = get_post_meta($post->ID, ‘_own_price’, true); if ($post === ‘yes’) return ”; return $link; } public function add_shatner_menu() { add_options_page( ‘Shatner Plugin Settings’, ‘Shatner Settings’, ‘manage_options’, ‘shatner_plugin’, array($this, ‘shatner_plugin_settings_page’) ); } public function shatner_plugin_settings_page() { include(sprintf(“%s/templates/settings.php”, dirname(__FILE__))); } /** * hook into WP’s admin_init action hook */ public function admin_init() { // add your settings section add_settings_section( ‘wp_plugin_template-section_shatner’, ‘Shatner Plugin Template Settings’, array($this, ‘settings_section_shatner_plugin_template’), ‘wp_plugin_template_shatner’ ); foreach($this->form_fields as $setting) { // register your plugin’s settings register_setting(‘wp_plugin_template-group-shatner’, $setting[‘title’]); // add your setting’s fields add_settings_field( $setting[‘title’], $setting[‘description’], array(&$this, ‘settings_field_input_’. $setting[‘type’]), ‘wp_plugin_template_shatner’, ‘wp_plugin_template-section_shatner’, array( ‘field’ => $setting[‘title’] ) ); } } // END public static function activate public function init_form_fields() { $this->form_fields = array( array( ‘type’ => ‘text’, ‘title’ => __(‘shatner_label’, ‘woothemes’), ‘description’ => __(‘Shatner Label’, ‘woothemes’), ‘default’ => __(‘Name your own price’, ‘woothemes’) ), array( ‘type’ => ‘radio_button’, ‘title’ => __(‘use_shatner_templates’, ‘woothemes’), ‘description’ => __(‘Shatner Templates override pricing, disable if you want to customize using your theme’, ‘woothemes’), ‘default’ => __(‘1’, ‘woothemes’) ) ); } public function settings_section_shatner_plugin_template() { // Think of this as help text for the section. echo ‘These settings set values for Shatner’; } /** * This function provides text inputs for settings fields */ public function settings_field_input_text($args) { // Get the field name from the $args array $field = $args[‘field’]; // Get the value of this setting $value = get_option($field); // echo a proper input type=”text” echo sprintf(”, $field, $field, $value); } // END public function settings_field_input_text($args) /** * This function provides text inputs for settings fields */ public function settings_field_input_radio_button($args) { // Get the field name from the $args array $field = $args[‘field’]; // Get the value of this setting $value = get_option($field); $html = ‘ ‘; $html .= ‘ Enable ‘; $html .= ‘ ‘; $html .= ‘ Disable’; echo $html; } // END public function settings_field_input_radio($args) public function template_override($template, $template_name, $template_path ) { // Modification: Get the template from this plugin, if it exists $plugin_path = untrailingslashit( plugin_dir_path( __FILE__ ) ). ‘/templates/’; if ( file_exists( $plugin_path . $template_name ) ) { $template = $plugin_path . $template_name; return $template; } return $template; } public function init_css() { wp_register_style(‘donation_css’, plugins_url(‘custom_styles.css’,__FILE__ ), false, ‘1.0.1’, ‘all’); wp_enqueue_style( ‘donation_css’ ); } public function add_to_cart_hook($key) { global $woocommerce; foreach ($woocommerce->cart->get_cart() as $cart_item_key => $values) { if(!get_post_meta($values[‘product_id’], ‘_own_price’, true ) || get_post_meta($values[‘product_id’], ‘_own_price’, true ) === ‘no’) { $values[‘data’]->set_price($_POST[‘price’]); continue; } $thousands_sep = wp_specialchars_decode( stripslashes( get_option( ‘woocommerce_price_thousand_sep’ ) ), ENT_QUOTES ); $decimal_sep = stripslashes( get_option( ‘woocommerce_price_decimal_sep’ ) ); $_POST[‘price’] = str_replace($thousands_sep, ”, $_POST[‘price’]); $_POST[‘price’] = str_replace($decimal_sep, ‘.’, $_POST[‘price’]); $_POST[‘price’] = woocommerce_format_total($_POST[‘price’]); error_log(var_export($_POST,1)); if($cart_item_key == $key) { $values[‘data’]->set_price($_POST[‘price’]); $woocommerce->session->__set($key .’_named_price’, $_POST[‘price’]); } } return $key; } public function set_named_price($post) { if($_POST[‘_own_price’]){ if(!get_post_meta($_POST[‘post_ID’], ‘_own_price’, true )){ add_post_meta($_POST[‘post_ID’], ‘_own_price’, $_POST[‘_own_price’]); } else { update_post_meta($_POST[‘post_ID’], ‘_own_price’, $_POST[‘_own_price’]); } } if($_POST[‘_own_price_enforce_minimum’]){ if(!get_post_meta($_POST[‘post_ID’], ‘_own_price_enforce_minimum’, true )){ add_post_meta($_POST[‘post_ID’], ‘_own_price_enforce_minimum’, $_POST[‘_own_price_enforce_minimum’]); } else { update_post_meta($_POST[‘post_ID’], ‘_own_price_enforce_minimum’, $_POST[‘_own_price_enforce_minimum’]); } } } public function add_donation_radio($content) { global $post; woocommerce_wp_radio(array( ‘id’ => ‘_own_price’, ‘class’ => ‘wc_own_price short’, ‘label’ => __( ‘Name your own price’, ‘woocommerce’ ), ‘options’ => array( ‘yes’ => ‘yes’, ‘no’ => ‘no’, ) ) ); woocommerce_wp_radio(array( ‘id’ => ‘_own_price_enforce_minimum’, ‘class’ => ‘wc_own_price_e short’, ‘label’ => __( ‘Enforce minimum price (Regular Price)’, ‘woocommerce’ ), ‘options’ => array( ‘yes’ => ‘yes’, ‘no’ => ‘no’, ) ) ); } public function add_custom_price( $cart_object ) { global $woocommerce; foreach ( $cart_object->cart_contents as $key => $value ) { if(!get_post_meta($value[‘product_id’], ‘_own_price’, true ) || get_post_meta($value[‘product_id’], ‘_own_price’, true ) === ‘no’) { continue; } $named_price = $woocommerce->session->__get($key .’_named_price’); if($named_price) { $value[‘data’]->price = $named_price; } } } } new SV_WC_Donation();
Read on wp.org ↗ - ★★★★★ dschmidt2011.2y ago
I was excited to check out this plugin, but nothing appears on Front-end when activated and options chosen on product page. Will this plugin be upgraded to support latest Woocommerce release?
Read on wp.org ↗ - ★★★★★ rajbizz11.3y ago
Please add features to set maximum price.
Read on wp.org ↗
Behavioral tests
via WP HiveAutomated install-time checks, tested on PHP 7.2.16 · WP 5.3
Growth timeline
Install-tier crossings we have observed, and how long each tier took to outgrow
- 2026-06-01 80+ → 70+ down after 1 days in tier
- 2026-05-31 70+ → 80+ up after 117 days in tier
- 2026-02-03 80+ → 70+ down after 63 days in tier
- 2025-12-02 90+ → 80+ down after 59 days in tier
- 2025-10-04 100+ → 90+ down after 976 days in tier
- 2023-02-01 200+ → 100+ down after 1 days in tier
- 2023-01-31 100+ → 200+ up after 3 days in tier
- 2023-01-28 200+ → 100+ down
Competes with
The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).
-
Google for WooCommerce 800K+ installs · 2.8★ · 1 shared tag B
-
WooCommerce PayPal Payments 800K+ installs · 2.9★ · 1 shared tag B -
WooCommerce Stripe Payment Gateway 700K+ installs · 3.1★ · 1 shared tag B -
WooCommerce Tax (formerly WooCommerce Shipping & Tax) 500K+ installs · 2.2★ · 1 shared tag C -
WooCommerce Legacy REST API 400K+ installs · 2.2★ · 1 shared tag D
-
PDF Invoices & Packing Slips for WooCommerce 300K+ installs · 4.9★ · 1 shared tag A
Embed this report card
Drop a live Pulse card for Shatner – Name your Own Price Integration for WooCommerce into a readme, a review or a deck. It updates itself.
<iframe src="https://plugins.wpmayor.com/embed/shatner-name-your-own-price-for-woocommerce" width="480" height="300" style="border:0" loading="lazy" title="Shatner – Name your Own Price Integration for WooCommerce — Plugin Pulse"></iframe> Shatner – Name your Own Price Integration for WooCommerce: 70+ active installs, 3.8★ (19 reviews). Plugin Pulse (WP Mayor), as of 2026-08-31. https://plugins.wpmayor.com/plugin/shatner-name-your-own-price-for-woocommerce