The variable product type in Woocommerce can be used to list the same product in different variations such as colors, lengths, sizes etc. To add a variable products type you have to choose Variable Product in product data field. Now you can choose attributes for the product in the Attributes section. You have the option to select if these attributes should be used for variations. Once you have saved the attributes, you can go to Variations section and create variations manually or automatically.
Increase number of variations generated per run
The Create Variations from All Attributes is a powerful feature however by default it can create only 50 variations per run. If you run it a second time, the next 50 variations will be generated and so on. The newer ones will appear on top so the order of variations can get jumbled up. To avoid this you can increase the number of variations generated per run.
To do this, add the following code to your theme's functions.php
//Increase Maximum variations generated in single run define('WC_MAX_LINKED_VARIATIONS', 100);
This uses a sample value of 100, but you can change it to suit your need. However the number is limited by your server's memory allocation so its better to keep the value below 250.
Increase number of variations shown per page in backend
By default, 15 variations are listed per page in the backend. However its easier to edit or rearrange them if you cna show more number of variations per page. To increase the number of variations listed per page in the backend, add the following code to your theme's functions.php
add_filter( 'woocommerce_admin_meta_boxes_variations_per_page', 'override_increase_variations_per_page' ); //Show more variations per admin page function override_increase_variations_per_page() { return 100; }
The above code uses a sample value of 100, choose a value that suits your need. With these 2 changes in place, you will find it much easier to manage the variations from the backend. It is particularly handy when entering prices for variations, because it reduces the need to go into different pages.