At my site i want to change the default value of the selecter that appears, when different variations exists. If anyone can give me a clue of how and where this is done, it would be highly appreciated!

  • You want to change the style rule applied to the selector, or you want to change the selector itself? The first is off-topic per the faq as being a pure CSS question.
    – s_ha_dum
    May 17, 2013 at 13:49
  • Check my comments to Daniels answer :)
    – McKeene
    May 17, 2013 at 14:39

3 Answers 3


On the Product Edit page for the variable product, click on the "Variations" tab. Once you setup variations for the Colour you can set a "Default selection" at the bottom: http://cld.wthms.co/7LIv

This will be the default option selected when a customer visits the page (if it is in stock). Example: http://cld.wthms.co/YQFO

  • I still want a default value, but i need to change the text from "Choose and option" to "select size". On the page you have to choose a size before the buy button actually appears. If it uses a size as the default, this function would disappear.
    – McKeene
    May 17, 2013 at 14:39

If like me you'd like to have a default variation option selected without having to go through every Product and select a default via the admin then you need to alter the variable.php file which is located at woocommerce/templates/single-product/add-to-cart/variable.php (please do not alter the WooCommerce Plugin file - rather copy it to your Themes directory as per best practice).

The key here is the final else condition on line 35. This which determines what the default variation value will be. Simply alter:

$selected_value = '';


$selected_value = $options[0];

This will set the default value to be the first item in the array of product variations defined in the backend. That way your Add to Cart button is always shown by default and the user still has the ability to select another variation if they wish.

Why this isn't in WooCommerce core I don't know.

(Note this method still allows the admin to set a specific default variation value from the WPAdmin which will overide the default which gets set using my code above)

  • 3
    This is problematic when you have stock, and the first option is NOT in stock. This will trigger an alert saying 'Sorry, no products matched your selection...'.
    – jetlej
    Mar 11, 2015 at 0:02

I know it's a little late at this point but just in case anyone else runs into this problem. This should allow you to change the default value text.

Copy and paste this into your themes functions.php file. It may not be the best way to do it but it worked great for me.

/* Change Woocommerce Default Value Text */
add_filter('gettext',  'choose_option');
add_filter('ngettext',  'choose_option');

function choose_option($translated) {
     $translated = str_ireplace('Choose an option',  'Select Size',  $translated);
     return $translated;

NOTE: This will change the default value text throughout the entire site. Just a heads up!

Not the answer you're looking for? Browse other questions tagged or ask your own question.