What do you need help with?

Start typing.


How to troubleshoot WooCommerce CSV files with faulty or incomplete import

Import almost all the things

We offer two official CSV import extensions. The Product CSV Import Suite and Customer/Order/Coupon CSV Import Suite. Both extensions allow you to import CSV files to create bulk entries.

When your CSV import fails or produces incomplete results, most of the time your CSV file is either missing data or it contains incompatible data.

Check column titles first

The first thing you should check are your header columns. We have column header reference help pages that give you a complete overview over supported column titles and the data they accept. Here they are for both extensions:

Check each column title for unsupported or faulty titles. Correct misspelled or incomplete titles. Unsupported titles not listed in our reference must be removed or their column title changed to a supported title.

To get you started faster we also offer sample CSV files:

Check column data

Oftentimes I find that faulty CSV files contain data that should not be present. Take a look at this screenshot:

Screen Shot

As you can see here, data for the column ID and post_id must be empty in your CSV because they are automatically assigned by WordPress.

Check each column for incorrect or superfluous data. Correct column data by renaming column titles for incorrect data. Superfluos data must be removed.

Try importing your CSV file on a clean test system

If you have checked your CSV files and found no unsupported or faulty data, then it might be that your server is not up to the task. Try importing your CSV on a clean test system.

I provide the necessary infrastructure at http://wcdemo.com. Creating a test site is free so feel free to head there now and test your CSV file.

And as always boys and girls, backup your data before you attempt any CSV import.

Tools for viewing CSV files:

I use Google Sheets for online viewing and CSV Editor by L.X. for offline usage.


Image credits:
By RRZEiconsOwn work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18462316

How to bookmark WordPress plugins using ‘My Favorites’ on WordPress.org

Ever wondered what the ‘favorite’ button does when you browse the WordPress plugin repository?

Screen Shot

I use the feature a lot to bookmark plugins I like.
Here is what it does and how to use it:


Too small? View full size GIF here.

How to download and install a WordPress plugin manually from GitHub.com

GitHub holds a wealth of WordPress and WooCommerce plugins. Each of the can be downloaded and used like any other WordPress / WooCommerce plugin.

It requires one additional step of preparation though: When downloading a plugin from GitHub you need to rename the root folder of the plugin and then recompress the folder again without the “master” in the filename for upload.


Too small? View GIF in full size.

You can now upload the file manually. Here is an article on how to do so.

How to disable TaxJar adding taxes on WooCommerce Subscriptions free trials

When using TaxJar with WooCommerce Subscriptions, taxes can get calculated for free trials.

We will work on getting this fixed. In the mean time use this snippet to counter the behaviour:

remove_action( 'woocommerce_calculate_totals', array( $this, 'use_taxjar_total' ), 20 );
add_action( 'woocommerce_calculate_totals', array( $this, 'use_taxjar_total' ),5 );

Here is how to use custom code snippets.

How to export all orders regardless of their order status when using Order/Customer CSV Export

When using WooCommerce Order/Customer CSV Export, each order gets only exported once. After the initial export the order is marked as ‘already exported’ and thus skipped in subsequent exports. Sometimes you want to export all orders even when they have been exported prior.

Exporting all orders regardless of their order status when using WooCommerce Order/Customer CSV Export is possible using custom code.

Here is a snippet by Tamara Zuk.

Do not know how to use these snippets?
Here is my help article on using custom code snippets.
Oh, and do not forget to backup.

Re:Post – How to improve loading speed of your WordPress / WooCommerce site

This is a Re:Post of an helpdesk article originally published on WooThemes.com from 2015.

Speed up?

Getting your site to load faster is something that you will eventually confront. Since we get asked a lot about speed optimization, here are some tips on how to tackle it.

Before thinking about optimization methods, you should first analyze your current website speed. When you say your site is slow, it might load fine for others for many reasons. Therefore the first step is to perform a speed test with a web-tool measuring the status quo. A number is needed as a starting point so we can set a goal independent of different client configurations (i.e., Slow vs. fast computers, different browsers and settings, etc.).

Measure up

There are many suitable speed test tools found online. For example: http://tools.pingdom.com/fpt/,

To perform a speed test on your site, visit the URL, open the settings and choose a server close to you. Or not, depending on what you want to know. Then execute.

It will give you an overview of items that get loaded, and four performance indicators.

  1. Perf. grade = A percentile created by pingdom. Everything above 75 is fine.
  2. Page size = Gives an idea of the content load
  3. Load time = Most important and more important than 1 and 2. Should under 3 seconds or less. Aspire to under 1.8 seconds.
  4. Requests = Gives an idea of content load.

Optimize on-site

Action items for site speed optimization:

  • Take a look at the hosting plan. Because it is a shop, you should not host your site on a cheap shared hosting plan. Even if you only recently switched to WooCommerce and your hosting plan has been sufficient, it is worth considering an upgrade. Good hosting is not expensive, and it is important to have a solid base for your online presence.
  • Take a look at site content, especially images. Are they uploaded in a web optimized format? If not and most images are MB size (over 500 KB is big), is there a plugin in place that helps with serving content (e.g., Lazy Loading or PNG Crusher)?
  • Take a look at plugin load. As most plugins load with each page, this might slow things down. You can use the Plugin Organizer to help: https://wordpress.org/plugins/plugin-organizer/. It lets you control the order in which plugins are loaded, and you can toggle plugins on a per-page/post basis and/or disable for mobile.
  • Are any optimization plugins in place? There are a number of caching plugins found in the WordPress repo that can dramatically speed up your WordPress site without tweaking for countless hours. Consider installing one if you haven’t already. Be careful though. Caching plugins also have potential to interfere with your site not loading correctly or not at all if configured in an incompatible or faulty manner. Check thoroughly after implementation to avoid undesired results.
  • Do we have a need for outsourcing content into a cloud for faster loading?

If you did all of the above-mentioned items, then you have covered most or all possible solutions. If that still does not suffice, it is time to turn to off-site resources such as CDNs. This is a complex topic so I will stop here.

I hope this helps everyone out there striving to optimize their site.


How to change ‘select options’ ‘add to cart’ button text in WooCommerce

You can use a filter to change the ‘select options’ button text in WooCommerce like so:

add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_select_options_text' );
  function custom_select_options_text() {
  global $product;
  $product_type = $product->product_type;
  switch ( $product_type ) {
  case 'subscription':
  return __( 'Options', 'woocommerce' ); /*change 'Options' for Simple Subscriptions */
  case 'variable-subscription':
  return __( 'Options', 'woocommerce' ); /*change 'Options' for Variable Subscriptions */
  case 'variable':
  return __( 'Options', 'woocommerce' ); /*change 'Options' for Variable Products */

If you are unsure on what to do with this, read this first: How to use custom code snippets.

If I find the time I will turn this into a mini plugin for convenient use. Let me know in the comments, if you would have need of this.

This code snippet taps into the “Add to Cart” button for WooCommerce core so it can also be used to modify it.

For WooCommerce Subscriptions this is not necessary. Simply visit your settings here at /wp-admin/admin.php?page=wc-settings&tab=subscriptions

Screen Shot

And as always boys and girls, do not forget to backup.