Disable WooCommerce Setup Wizard

Disable WooCommerce Setup Wizard

Need to Disable WooCommerce Setup Wizard? Keep reading. WooCommerce introduced a new ‘setup’ wizard which is really just a front for them to upsell you a bunch of their services and plugins. It doesn’t actually set up your store at all. After you go through five pages of marketing crud, you then get dropped back to the WooCommerce Home Screen. Then you get prompted to actually setup the real settings to get your store going.

This might be all well and good for new users and people who don’t know what WooCommerce is, but as a developer I need to setup installs quickly and as automated as possible. This new setup wizard stopped that. I have a WP-CLI based shell script I use to setup a development install in a matter of minutes including all the required plugins, theme, pages, users, roles and even products.

Marketing Crud

Update an array option in WP-CLI

One of the meta keys you need to adjust requires that you store the details in an array. I tried and failed a bunch of various things to store the array in the wp_options table with the wp option update command with no success. I did a bit of googling and found a handy shell script that will encode the option and related array key as needed in the correct format. I found this on WordPress StackExchange


This assumes you have already installed and configured WP-CLI.

Create the following shell script, call it something useful, I chose to use the original authors file name update-array-option.sh



wp option get ${option_name} --format=json | php -r "
\$option = json_decode( fgets(STDIN) );
\$option->${option_key} = \"${option_value}\";
print json_encode(\$option);
" | wp option set ${option_name} --format=json

Put this file in your $PATH or current working directory and make it executable


./update-array-option.sh <option-name> <option-key> <value>

Disable WooCommerce setup wizard with WP-CLI

The following command will turn the setup wizard off and stop forcing a redirect to their marketing crud.

./update-array-option.sh woocommerce_onboarding_profile skipped 1

Some other options I update to disable things within WooCommerce include the following

wp option update woocommerce_show_marketplace_suggestions 'no' 
wp option update woocommerce_allow_tracking 'no'
wp option update woocommerce_task_list_hidden 'yes'
wp option update woocommerce_task_list_complete 'yes'
wp option update woocommerce_task_list_welcome_modal_dismissed 'yes' 

The end

These few things will allow me to quickly and completely automatically setup development installs. I need for testing various parts of our products and configurations with 3rd party plugins. If you want to check out my scripts, I did a talk about WP-CLI quite a number of years ago at WordCamp Brisbane.

You can find my demo code here which is what my current dev scripts are built on.