WooCommerce product table with attributes and variationsSince its launch in October 2016, our WooCommerce product display plugin has quickly become our bestselling WordPress plugin. It displays products in a sortable table view. Today we've launched a new version of the product display plugin which supports product attributes and variable products.

More customers have requested support for attributes and variations than any other feature, so we've made this a priority. It comes hot on the heels of other improvements to our WooCommerce table plugin.

As well as displaying WooCommerce products in a searchable table view, you can now:

Display product attributes as separate columns in the table

Previously, you could display most product data such as title, description, price and featured image in the table, but not attributes. You can now include each attribute as a separate column in the product table.

We understand that all WooCommerce websites use product attributes in different ways. To make it applicable to everyone, you can list exactly which attributes are displayed in each product table. This means that you can display some attributes but not others.

If you have multiple product tables on your WooCommerce website then each one can list different attributes. For example, you might have an e-commerce clothes website with one product table for men's shirts and another for women's dresses. The table for men's clothes can include a 'Collar Size' column and the women's product table can have a column for 'Dress Size'.

WooCommerce product table with attributes

See it in action on the new product attributes page on the plugin demo.

View and select variations directly from the product table

We've thought long and hard about the best way to present variable products in the table. Very few WordPress product display plugins support variations, and we don't think any of them get it right. For example, we saw one plugin that displays each variation as a separate row in the table. This would have been easier for us to develop (!) but I think it's the lazy option. It takes up a huge amount of space and isn't a neat solution. Some WooCommerce stores have dozens of variations, so it's important to display each product within a single row of the table.

The new version of our WooCommerce product display plugin can list each variation as a dropdown list alongside the 'Add to 'Cart' button. Customers can select their variations, select the quantity and add to cart cart straight from the product table.

When you select a variation, the actual price for that variation appear under the Add to Cart button. If you're managing stock for each variation then the stock status or stock level will appear too.

WooCommerce product table variations

If you have more variations than can fit in a table then you don't have to enable the variations option. By leaving it disabled, the 'Add to Cart' button for variable products will change to 'Select options'. Customers can click through to choose their variations and buy from the single product page.

You can see this in action on the variations page on the demo site for the WooCommerce product display plugin.

Note: Since this article was published, we have also added support for Product Add-Ons. This lets you add even more product options in your WooCommerce tables. 

Display attributes and variations as filter dropdowns above the table

If your WooCommerce store has many products then you can help customers find what they want by letting them filter by attribute or variation. The new version of WooCommerce Product Table lets you display filters above the table with dropdowns for attributes, variations, categories or tags.

Adding filters="true" to the product table shortcode will display all possible filter dropdowns above the table. Alternatively, you can choose which filters appear. For example you may want the product table to include filters for the size attribute but not color.

WooCommerce product table view with attribute filtersYou can see this in action on the new product attributes page on the product display plugin demo.
WooCommerce product table view plugin

Perfect for WooCommerce order forms, restaurant ordering systems & more

These new features are perfect for many different types of WooCommerce product displays. You might have a WooCommerce order form and want to include attributes or variations. Maybe you're a restaurant using it for an online food ordering system. You might be using product tables with our Password Protected Categories plugin to create a WooCommerce wholesale store. Do you want to list WooCommerce products in a simple layout? Maybe you want to create a WooCommerce product directory with extra product data.

Whatever you need WooCommerce product tables for, these new features will help the plugin to display products in whichever way you need. If you like it, join our WordPress plugins affiliate scheme and each 30% commission for recommending our WooCommerce product display plugin!

Attributes & variations not enough?

If you want to display even more product data in your WooCommerce tables, you can also show custom fields and taxonomies. Check out our tutorial on how to Display Extra WooCommerce Product Data with Custom Fields & Taxonomies.

How to get WooCommerce Product Table

We'll be contacting everyone individually who has requested support for product attributes and variations.

To get WooCommerce Product Table for your own website, simply buy the plugin and start setting it up. Your new way of displaying products could be ready within a few minutes! You can also sign up as affiliate and get 30% commission for recommending the table plugin!

GET PLUGIN BECOME AN AFFILIATE

woocommerce-shipping-uk-countries

In WooCommerce, it's surprisingly difficult to charge different shipping costs to England, Wales, Scotland, Northern Ireland, Republic of Ireland and the Channel Islands.

It's all very well and good for countries like the US where you can set the shipping cost for each state individually. But WooCommerce treats UK countries such as England, Scotland and Wales as a single country, even though postage costs to each country can vary.

Sadly, there are no WooCommerce plugins to do this for you. This tutorial will teach you how to charge separate shipping rates for each UK country.

It's quite a fiddly process so if you can't be bothered to do it yourself, skip to the end of this article and sign up to be notified when we release a new WordPress plugin for WooCommerce shipping to different UK countries.

1. First, select which countries you sell to

The easy bit is to set up shipping for the Republic and Ireland and the Channel Irelands Jersey and Guernsey. The reason this is easy is because they're separate countries. This means that you don't have to set add postcode areas for each one.

  1. Go to WooCommerce > Settings in the WordPress admin and find the 'Selling Location(s)' option.
  2. If you sell to customers worldwide, set this to 'Sell to All Countries' or 'Sell to All Countries, Except for...'
  3. If you only sell to specific countries, enter them here. Make sure you enter United Kingdom, Republic of Ireland, Jersey and Guernsey as they're treated as separate countries in WooCommerce.
  4. Add the same information for the 'Shipping Location(s)' field below.
  5. Scroll down and click 'Save changes'.

This will tell WooCommerce which countries you accept orders from and where you will ship your products. Lots of people enter 'United Kingdom' thinking that it includes Jersey and Guernsey, not realising that people from the Channel Irelands can't order from them.

Add WooCommerce UK Shipping Countries

2. Add a Shipping Zone for each postage rate

Next, go to the Shipping tab in the WooCommerce settings. You need to create a separate shipping zone for each group of areas that will have its own postage costs. For example:

  • If postage to England & Wales is £10 and postage to the other countries is £20 then you should add 2 shipping zones - 1 for England/Wales and 1 for elsewhere.
  • If each country or region will have different postage rates then you should add each one as a separate shipping zone - e.g. England, Wales, Scotland, Northern Ireland, Republic of Ireland, Scottish Isles, Isle of Man, Channel Islands etc.

If any of these areas will have the same postage cost then you can group them into the same shipping zone. This keeps it simple - if England and Wales have the same shipping rate then there's no need to add them as separate shipping zones.

The below screenshot lets you charge different shipping rates for England & Wales, Scotland & North Ireland, the Scottish Isles & Isle of Man, and the Channel Islands and Southern Ireland - so we added 4 shipping zones.

Add WooCommerce Shipping Zones for England Scotland Wales

Now it's time for the complicated bit. You need to tell WooCommerce how to determine which customer is in which shipping zone. Unfortunately this doesn't happen automatically.

  1. Hover over a shipping zone and click 'Edit'.
  2. In the 'Regions' column, you will see a box titled 'Select regions within this zone'. This should only be used for entire countries that have a single shipping rate - for example if all Isle of Man postcodes will have the same shipping cost then select 'Isle of Man' here.
  3. Click in the box to view a list of all the countries that you ship to. Select the countries that should be used for that shipping zone. This puts that entire country within a single shipping zone, so DO NOT select any countries that you're dividing into multiple shipping rates. For example, if you are charging separate postage for England and Scotland then don't add United Kingdom into this box - instead, you need to add the individual postcode areas (see step 4).
  4. If you need to divide a country across multiple shipping zones then click the 'Limit to specific ZIP/postcodes' link. A box will appear underneath where you can add the postcodes for that shipping rate. At the end of this article, I've provided a list of UK postcodes divided by area/country. This will hopefully save you a lot of time.

How to add postcode to WooCommerce shipping zone

3. Add your Shipping Methods

Once you've added your WooCommerce shipping zones, it's time to add all the shipping methods. Each shipping zone needs one or more shipping method.

To add a shipping method, click the + icon on the right of the shipping zone.

WooCommerce Add Shipping Method

Select the type of shipping method and click 'Add shipping method'. This will add the method to the 'Shipping Method(s)' column on the WooCommerce Shipping Zones page.

Next, click on the shipping method you just created and fill in all the information to set it up.

WooCommerce Add Flat Rate for England Scotland Wales

Repeat the process to create all the shipping methods for each zone.

4. Test your WooCommerce shipping rates

Finally, you need to thoroughly test your shipping rates. To do this, log out of your website and add a product to the cart. Go through to the checkout and use the shipping calculator to test the postage from various countries and postcode areas.

If something isn't working properly, it can be tricky to figure out what has gone wrong. Something must be wrong with the logic somewhere - for example you might have accidentally added the same area to 2 shipping zones.

Some common pitfalls:

  • If the customer's default location in WooCommerce > Settings is set to 'Geolocate' then it's hard to accurately test the postage as the website can detect your location. Switch off this setting to test it more accurately.
  • Are you using wildcards incorrectly? For example, you might have entered E* to cover all the East London postcode areas. If you do this then ALL customers whose postcode starts with an E will be charged the England postage, even if they're in a different shipping zone - e.g. Edinburgh, which is EH*. To solve this problem, you need to add the 2-digit version of all the 1-digit postcodes that share a first letter with a postcode in a different shipping zone. In this example, you need to add E1*, E2*, E3* instead of just E*.
  • If a customer in the Isle of Man (for example) selects their country as 'United Kingdom' then they will be charged UK postage. This is fair enough, as they quite rightly think of themselves as within the UK. If this happens, it's worth adding the postcodes for the other countries into the relevant shipping zone just in case. For example, you can select 'Isle of Man' AND add the Isle of Man postcode areas (IM*) to the Isle of Man shipping zone. This will allow you to charge the correct postage whether an Isle of Man customer selects their country as 'United Kingdom' or 'Isle of Man'.

5. Checklist - have you missed anything?

As you can see, it's quite fiddly to set up different shipping rates for each UK country/region. This checklist will help you ensure you haven't missed anything:

  • Have you added all the separate UK countries individually on the WooCommerce > Settings page?
  • Make sure you've created a separate shipping zone for each country/region that will have its own postage rate.
  • Have you accurately selected the correct countries and postcodes for each shipping zone?
  • Test the shipping costs from various countries and areas.

Would you like a plugin to set up shipping to different UK countries?

I completely understand that the process outlined in this article is very fiddly and difficult to get right. We're developing a WordPress that will do all this for you. If you're interested, please add your email address below and we'll let you know when it's available.

Or if you just want to charge different rates for each country, check out our tutorial on using WooCommerce to charge a different shipping rate per country.


List of postcode areas by UK country

To help you add your postcode areas, here's a list of UK postcodes divided into country.

We created this by collating the postcode lists on several Wikipedia pages and can't guarantee the accuracy, but hopefully it will save you time on defining the areas for your shipping zones. Please get in touch if you have any corrections to the list.

England and Wales postcode areas

AL*
B1*
B10*
B11*
B12*
B13*
B14*
B15*
B16*
B17*
B18*
B19*
B2*
B20*
B21*
B22*
B23*
B24*
B25*
B26*
B27*
B28*
B29*
B3*
B30*
B31*
B32*
B33*
B34*
B35*
B36*
B37*
B38*
B39*
B4*
B40*
B41*
B42*
B43*
B44*
B45*
B46*
B47*
B48*
B49*
B5*
B50*
B51*
B52*
B53*
B54*
B55*
B56*
B57*
B58*
B59*
B6*
B60*
B61*
B62*
B63*
B64*
B65*
B66*
B67*
B68*
B69*
B7*
B70*
B71*
B72*
B73*
B74*
B75*
B76*
B77*
B78*
B79*
B8*
B80*
B81*
B82*
B83*
B84*
B85*
B86*
B87*
B88*
B89*
B9*
B90*
B91*
B92*
B93*
B94*
B95*
B96*
B97*
B98*
B99*
BA*
BB*
BD*
BH*
BL*
BN*
BR*
BS*
CA*
CB*
CF*
CH*
CM*
CO*
CR*
CT*
CV*
CW*
DA*
DE*
DH*
DL*
DN*
DT*
DY*
E1*
E10*
E11*
E12*
E13*
E14*
E15*
E16*
E17*
E18*
E19*
E2*
E20*
E3*
E4*
E5*
E6*
E7*
E8*
E9*
EC*
EN*
EX*
FY*
GL*
GU*
HA*
HD*
HG*
HP*
HR*
HU*
HX*
IG*
IP*
KT*
L1*
L10*
L11*
L12*
L13*
L14*
L15*
L16*
L17*
L18*
L19*
L2*
L20*
L21*
L22*
L23*
L24*
L25*
L26*
L27*
L28*
L29*
L3*
L30*
L31*
L32*
L33*
L34*
L35*
L36*
L37*
L38*
L39*
L4*
L40*
L41*
L42*
L43*
L44*
L45*
L46*
L47*
L48*
L49*
L5*
L50*
L51*
L52*
L53*
L54*
L55*
L56*
L57*
L58*
L59*
L6*
L60*
L61*
L62*
L63*
L64*
L65*
L66*
L67*
L68*
L69*
L7*
L70*
L71*
L72*
L73*
L74*
L75*
L76*
L77*
L78*
L79*
L8*
L80*
L9*
LA*
LD*
LE*
LL*
LN*
LS*
LU*
M*
M1*
M2*
M3*
M4*
M8*
M9*
M11*
M12*
M13*
M14*
M15*
M16*
M17*
M18*
M19*
M20*
M21*
M22*
M23*
M24*
M25*
M26*
M27*
M28*
M29*
M30*
M31*
M32*
M34*
M35*
M38*
M40*
M41*
M43*
M44*
M45*
M46*
M60*
M61*
M90*
M99*
ME*
MK*
N*
N1*
N2*
N3*
N4*
N5*
N6*
N7*
N8*
N9*
N10*
N11*
N12*
N13*
N14*
N15*
N16*
N17*
N18*
N19*
N20*
N21*
N22*
N81*
NE*
NG*
NN*
NP*
NR*
NW*
OL*
OX*
PE*
PL*
PO*
PR*
RG*
RH*
RM*
S1*
S2*
S3*
S4*
S5*
S6*
S7*
S8*
S9*
S10*
S11*
S12*
S13*
S14*
S17*
S18*
S19*
S20*
S21*
S22*
S25*
S26*
S32*
S33*
S35*
S36*
S40*
S41*
S42*
S43*
S44*
S45*
S49*
S60*
S61*
S62*
S63*
S64*
S65*
S66*
S70*
S71*
S72*
S73*
S74*
S75*
S80*
S81*
S95*
S96*
S97*
S98*
S99*
SA*
SE*
SG*
SK*
SL*
SM*
SN*
SO*
SP*
SR*
SS*
ST*
SW*
SY*
TA*
TF*
TN*
TQ*
TR*
TS*
TW*
UB*
W1*
W10*
W11*
W12*
W13*
W14*
W2*
W3*
W4*
W5*
W6*
W7*
W8*
W9*
WA*
WC*
WD*
WF*
WN*
WR*
WS*
WV*
YO*

Scotland and North Ireland postcode areas

AB*
BT*
DD*
DG*
EH*
FK*
G1*
G2*
G3*
G4*
G5*
G6*
G7*
G8*
G9*
IV*
KW*
KY*
ML*
PH*
TD*

Scottish Isles postcode areas

HS*
KA*
PA*
ZE*

WooCommerce Table ViewI'm excited to announce that our new WordPress plugin, WooCommerce Product Table, is now available. It provides a WooCommerce product table view to display your products in an interactive list or table. Grid layouts are an increasingly popular way to list products and now you can do it too!

We've developed this plugin in response to demand from uses of our Post Table Pro plugin. They have enjoyed using the general table view to display products, but wanted WooCommerce-specific features integrated into the table such as 'Add to Cart' buttons.

GET THE PLUGIN VIEW DEMO

What is a WooCommerce product table view?

WooCommerce Product Table Plugin
WooCommerce is the world's leading e-commerce platform, according to the latest e-commerce usage stats for 2017.

Most WooCommerce websites have standard category layouts which list products in a grid format. There's usually 3 or 4 products per row with large images, the title, price and except underneath, and then an Add to Cart button. This takes up a lot of space.

Lots of WooCommerce store owners need a more compact product table view. A table lets them list more product per page so that customers can easily choose products and add to the cart, without scrolling through many pages.

The WooCommerce Product Table plugin provides a table view to list your products.

How flexible is the WooCommerce product table?

The product table view is incredibly flexible. You create your WooCommerce product table by adding a shortcode to any page or post. The default shortcode works well and you can use the knowledge base to configure it to suit your exact needs.

  • You can choose which columns display in the table. Nearly all the data that is stored about WooCommerce products can be used as a column in the table view. This includes title, short description, long description, price, tags, product categories, product featured image, etc. You can even add a quantity selector and Add to Cart button to the table view. It's also possible to display extra product data such as custom fields and taxonomies.
  • You can display all your products in the WooCommerce table view, or display products from a specific category only.
  • There are links to the product titles so that people can click through to the single product page and buy from there. Or you can disable these links and let people add to the cart straight from the table (or both!).
  • You can control how the product table view behaves, such as ordering the products by any column when it first loads. You can choose how many rows are displayed per page.
  • Customers can click on a column header to sort by that column. They can use the search box or click on a product category to filter the table.
  • You can add filter dropdowns above the table, making it easy for customers to narrow the list of products and find what they need.

Read the knowledge base for a full list of everything you can do with the WooCommerce Protect Table View plugin.

Who is the plugin for?

woocommerce-table-view-pluginWooCommerce Product Table is for any website owner who wants a more compact way to display WooCommerce products.

We've been amazed by how many users of our existing Posts Table Pro plugin have used it to create a WooCommerce table view. They use it for many different purposes, and the new dedicated WooCommerce version makes it suitable for many more use cases.

Here are some examples of websites that need a WooCommerce table view:

Use case: Wholesale or trade area

A lot of WooCommerce websites have a trade store, or a hidden trade area alongside a public online store. Wholesale stores tend to be less visual and more information-based than public online shops, so a table view is perfect.

You can use WooCommerce Product Table to list all your trade products. Your distributors can scroll down the list, add multiple products to the cart and make a purchase without having to click through to the individual product pages. This provides a much more functional way of shopping online which is perfect for trade stores.

Tip: If you want to create a private WooCommerce wholesale area, here are 2 ways that you can do it:

  1. Check out our WooCommerce Password Protected Categories plugin. This lets you create a WooCommerce category for your wholesale or trade distributors and password protect it. We've even created a tutorial on How to Create a WooCommerce Wholesale or Trade Area with video. Plus a separate tutorial on how to Build a WooCommerce Wholesale Store with Hidden Categories for Each Customer.
  2. Use WooCommerce Product Table to add a table view of your wholesale products to a standard WordPress page. You can then password protect this page using the 'Visibility' settings at the top right of the Add/Edit Page screen, or use a membership plugin to create a unique login for each trade user.

Use case: Bulk WooCommerce order form

WooCommerce Product Table is better than all the other WooCommerce order form plugins on the market. It lists your products in a flexible one-page order form with searching, sorting and filters. Your customers can buy products directly from the order form.

WooCommerce quick order form

Use case: WooCommerce product catalogue

WooCommerce websites with large numbers of products often provide a catalogue view listing all their products. This displays everything in one place without forcing customers to scroll through many different pages. Learn how to use the plugin to create a WooCommerce product catalogue or directory listings.

Use case: Online takeaway restaurant

Online restaurant order formTakeaway restaurants often display their entire menu on a single page. Customers can choose all the dishes they want to order for delivery. They can add everything from the cart without being taken to a separate page for each option.

WooCommerce Product Table is perfect for an online food ordering system. It lists each item on the menu within an interactive table view. To get your customers' mouths watering, you can make the table more visual by displaying an image of each dish.

Use case: WooCommerce photography website

WooCommerce Product Table supports images, image galleries and embedded audio and video. Customers can view small or large product images, watch video and listen to audio/music directly from the product table view. It's an ideal way for photographers to display their image for sale.

Use case: 'Build a box' WooCommerce product configurator

You can also use WooCommerce Product Table to list multiple items which customers can select in order to create a custom product bundle unique to them. This is perfect for 'build a box' type websites, such as build-a-hamper or to customize a meat or vegetable box for home delivery.

Where can I get the plugin?

You can buy WooCommerce Product Table on our website. And if you like it, sign up as an affiliate and we'll reward you with 30% from all your referrals!

GET THE PLUGIN VIEW DEMO

WooCommerce Event Booking Online CourseBuild a Course & Event Bookings Website with WordPress - our new online course - is now available on Udemy. It teaches you how to design a WooCommerce Event Booking website by combining the best WordPress course booking plugins, without needing any technical expertise.

At the end of this article, I will share a coupon code to give you 50% discount for the course.

TAKE THE COURSE

Why we've written a WooCommerce Event Booking online course

Over the years, I have worked with many clients to build a WordPress event booking website. Most of our clients sell training courses but we have designed websites that let people register for all sorts of event. Our blog post about how to use WooCommerce to create a course or event booking website is one of the most popular on our website.

This has given us lots of experience of the different ways to develop a course and events website. We've tried and tested most of the WordPress course booking plugins, as well as customise existing plugins and build bespoke systems to meet more unique requirements.

This has allowed us to develop a unique formula for the best way to build an events site. It's based on The Events Calendar, a free WordPress plugin by Modern Tribe. Used alone, The Events Calendar lets you display your courses and events on a WordPress website. However it comes with a range of extensions which can be mixed and matched to create different types of events site. You can display events as a simple list or on a calendar. At the other end of the scale, you can integrate with the world's leading e-commerce plugin to create a complete WooCommerce event booking website.

Used correctly, these plugins are a fantastic way to build a course or events booking website without having to write any code. However you need to understand how the plugins work and the best way to use them. I've written this online course to help people to use our formula to design their own events website.

Build a Course & Event Bookings Website with WordPress - Promo video

Course content

The course covers the complete process for building a WooCommerce events site from start to finish, including:

  • Introduction to the different types of events website
  • Overview of The Events Calendar suite of plugins and WooCommerce, to help you select the right plugins for your needs
  • Detailed guidance on how to set up the free version of The Events Calendar
  • Detailed instructions on using the free Event Tickets plugin to take registration for free events
  • Comprehensive instructions on how to use the paid Event Tickets Plus plugin with WooCommerce to take paid bookings for your courses and events
  • Tips on making more money from your website, including upselling your events alongside other types of products
  • Tips on driving more traffic to your events pages
  • I'll share our bullet-proof process for testing and troubleshooting your events site
  • Finally, I'll share Barn2 Media's go-live checklist to get your events site off to a successful start

Coupon code - 50% discount

To celebrate the launch of our new online course, I'm giving our readers a coupon code to sign up for just $18 (usual price $35).

You can sign up for the course and get the discount via this link: https://www.udemy.com/course-event-bookings-website-wordpress/?couponCode=HALFPRICE. The first few lectures are available for free so you can "try before you buy".

I look forward to seeing you on the course and would love to hear your feedback!

TAKE THE COURSE

WooCommerce Product Review Verified BuyerOne of our WordPress clients recently noticed that someone had added reviews for a product they had not purchased. The website was using the WooCommerce plugin.

WooCommerce is the world leading e-commerce platform and has a hidden away setting that fixes this problem. I'm sharing this in case anyone else finds it useful.

These tips apply whether you use our full WordPress web design service, our affordable WooCommerce web design services (MySimpleSite and MySimpleStore) or another agency.

By default, anyone can leave a product review on a WooCommerce website. The plugin doesn't check who is leaving the review or whether they have actually purchased the product.

This is sometimes beneficial. For example if your products are also available for sale elsewhere then you're likely to get more reviews if you let people review them who didn't purchase directly on your website.

However some store owners have a problem with reviews from people who haven't purchased the product at all - for example non-buyers who just like the look of a product, or malicious reviews from competitors. (This is a separate issue to spam reviews, which can be dealt with using an anti-spam plugin.) Irrelevant reviews like this will make your genuine reviews less credible and can damage your sales if they are negative.

How to prevent non-buyers from reviewing your WooCommerce products

Show Verified Owner label for customer reviewsTo set up your website so that only verified buyers can review your products, log into the WordPress admin and go to WooCommerce > Settings > Products.

You'll see a tick box called 'Only allow reviews fro "verified owners". If you tick this box, only logged in users who have purchased the product will be able to leave a review.

Non-buyers will see a note saying "Only logged in customers who have purchased this product may leave a review". Problem solved!

You can read more about WooCommerce settings in the official documentation.

We have created a video tutorial explaining how to use our WordPress password protect plugin to protect a WooCommerce category. The plugin lets you add password protections to a category and its products, or restrict it to specific logged in users or roles. Watch this alongside reading the knowledge base.

WooCommerce Password Protect pluginThe tutorial tells you how to create a WooCommerce password protected category and private category in WooCommerce. It also explains the logic behind the plugin and how once you have protected a category, it will automatically protect all its products and any sub-categories too.

Here's a written tutorial for those of you who don't like videos:

Written transcript of WooCommerce Password Protect Category video

Before we learn how to password protect a WooCommerce category, you need to get the plugin on our website. Download the file and install it in the usual way for a WordPress plugin (Plugins → Add New → Upload), and also add the license key from your confirmation email.

Once you've got that all set up, you should have WooCommerce and WooCommerce Protected Categories installed on your website. You need both these plugins in order for WooCommerce Password Protect Category to work.

How to password protect a category in WooCommerce

Next go to Products → Categories in the WordPress admin. This is the usual page where you can create a WooCommerce category. If you've got an existing website then you probably have categories on the right already - that's fine. The process for creating a WooCommerce password protected category is exactly the same whether it's a new category or an existing one.

Let's great a new category. In the 'Add New Category' section on the left, add the following:

  • Category name - e.g. 'Clothes'
  • Slug - this is the last part of the category URL, e.g. 'clothes'

If you scroll down, you'll see that there's a new section at the bottom called 'Visibility'. This is what the WooCommerce Password Protect Categories plugin has added and it's not there by default in WooCommerce.

To password protect a WooCommerce category, you simply tick the 'Protected' option and enter a password, which can be anything you like. You can also set the category to only be visible to certain logged in users or user roles. Then click 'Add New Product Category'.

Click the plus (+) icon to add multiple passwords for a category. This lets you give different passwords to different customers.

This will add your new category in the list of categories on the right. In the 'Visibility' column, you can see that it is labelled 'Password protected'.

You can also restrict categories to specific users or entire roles. That way, they can automatically see the hidden content as soon as they log into their account. They don't need to enter a separate password.

Password protect sub-categories

You can also add sub-categories. If you have a sub-category, it will automatically share the same password. You don't need to password protect it - it just happens automatically.

Let's do this now and create a new category called 'Shoes'. I'm going to select the Parent as 'Clothes', and mark it as Public as I don't need to password protect it. Because this is a child category of a password protected category, it will be password protected even though it doesn't have its own password.

The great thing about that is that if you give your customers a password for the parent category, they can use it to access any of the products in that category, the child category page and any of the products in the child category. Customers only need to enter the password once and that whole area of the website will be unlocked for them.

That's much better than password protecting each individual product, which would be a nightmare for the customer because they'd have to enter the password for every single product they want to view. Not ideal!

If you want to create more complex structures for a password protected category, you can add other protected categories with their own password. For example, you might have a 'Furniture' WooCommerce category which is separate from the 'Clothes' category. You would add a different password to protect the Furniture category. That will work alongside the Clothes category and each will have a completely different password to protect it. If you give the customers who buy your clothes the password for the Clothes category, they will be able to access the Shoes category because it's a child category of Clothes. However they cannot access the Furniture category which is protected separately.

This is a good way to lock down lots of different types of WooCommerce store. For example you might use a password to protect a Trade section of your WooCommerce website and give the password to your trade distributors. You could give them each their own category and their own password. Or whatever the use case for you.

WooCommerce Password Protected Category settings

There are various settings for the WooCommerce Password Protect plugin in WooCommerce → Settings → Products → Protected Categories. These let you control how your protected WooCommerce categories appear on the main Shop page and in navigation menus and widgets. You can also customize the text on the password entry page.

Wrapping up our WooCommerce password protect tutorial

So that's how you set up the plugin and password protect a WooCommerce category. Give the password to your customers and they can buy from the protected categories.

For more information, check out our tutorials on how to hide a whole WooCommerce store and make it private, and how to use it as a WooCommerce wholesale plugin. If you want to protect an entire store, it's also worth looking at our dedicated private shop WooCommerce plugin.

Or sign up as an affiliate and earn 30% commission for recommending the plugin!

In response to popular demand, we have launched a new WordPress plugin called WooCommerce Password Protected Categories. It's the only plugin which lets you password protect categories in WooCommerce. It's even possible to create a WooCommerce wholesale site or hide a whole WooCommerce store!

Note: Since launching this plugin, we have added extra functionality and renamed it 'WooCommerce Protected Categories'. You can still password protect product categories, but you can also restrict categories to specific roles or even individual users. This makes it the most complete WooCommerce category protection plugin on the market. 

Why password protect WooCommerce categories?

WooCommerce Private Products pluginThere are several reasons why you might want to password protect a category or create WooCommerce private products. Here are some popular examples:

Most WooCommerce websites are entirely available to the public. However with nearly 2 million websites using WooCommerce in 2017, there are also lots of stores that need protected, private or hidden areas.

Related tutorial: How to create WooCommerce private products.

What does WooCommerce Password Protected Categories do?

WooCommerce Private Products WordPress pluginWooCommerce Protected Categories adds a password protection option to the WooCommerce Categories page (WooCommerce → Categories in the WordPress admin). It works in the same way as the password protection for pages and posts. You choose a password, and visitors must enter this password in order to access the category page.

Each WooCommerce product category can have one password. Alternatively, you can create multiple passwords for each category. This is useful if you want to create unique passwords for each category, for example.

The great thing about this plugin is that the password automatically protects all the products within the category you have protected. It also protects any sub-categories. This lets you divided up the protected area of your e-commerce store, creating a more complex navigation structure with as many products and sub-categories as you like - all protected by a single password.

The plugin also lets you mark categories as Private, so that only logged in Administrators and Editors can view them. Or if you prefer, you can restrict categories to specific logged in user accounts or user roles. These are all great ways to create WooCommerce private products within a single category.

What did people do before this plugin was released?

Previously, people wanting to create a hidden area for private products within a WooCommerce online shop would use one of the following methods.

Password protect or private WooCommerce products

You can password protect individual WooCommerce products in the same way as you can protect a standard WordPress post or page. You can also create individual WooCommerce private products. Do this via the 'Visibility' option in the 'Publish' section at the top right of the Add/Edit Product screen.

A password protected product will still appear on your main Shop page and category pages. If someone clicks on it then they will be prompted to enter a password before they can view the product.

With this option, you have to individually password protect every product that you need to hide. Or mark the product as private.

With password protected products, your customers will have to enter a password for every single product. Not very user-friendly.

With WooCommerce private products, they appear to logged in users with the correct privileges but it's a bit disjointed.

The WooCommerce Protected Categories plugin offers a more sophisticated solution because it includes a setting allowing you to hide products within private or password protected categories from the main Shop page. You can also hide private or password protected categories from your main list of categories. This means that people will only be able to find your protected products or categories if they have the link. (Or if they're logged in, with WooCommerce product categories.) This lets you have a private area of your WooCommerce shop without cluttering up your public shop pages.

Once a visitor has entered the password for a category, they will be able to view all the products within that category - and also within any sub-categories - without entering any further passwords. This is much more user-friendly than protecting each individual product.

Display products on a private or password protected page

WooCommerce Private Products WP pluginWooCommerce has lots of built-in shortcodes which can be used to display products within a page. Some themes also have options for displaying WooCommerce private products or categories on a standard page.

You can use this to create a standard page in WordPress and password protect it in the usual way or mark it as private. You can then insert the required products onto the page.

The problem with this option is that it's not very secure as there are various other ways that people can find your products. The 'hidden' products will still be visible on your main WooCommerce Shop page which lists all your products - and people can guess the address of this page even if you haven't added any links to it.

If your hidden products are in the same category as publicly available products then visitors will be able to see the hidden products on the category page. There are probably other loopholes, too.

Restrict content using a membership plugin

For a more fully featured solution, you can create a complete membership site using a WooCommerce membership plugin such as WooCommerce Memberships or Groups (with the Groups for WooCommerce add-on). With a membership plugin, each of your users will have their own login details - as opposed to a shared password for each category.

This is a good option if your users will have access to other protected content, for example a wider members area. It's also good if any of your WooCommerce categories are particularly sensitive and a shared password isn't secure enough. However it can be overkill if your requirements are more straightforward than this. WooCommerce-compatible membership plugins are also more expensive. And it's a pain to have to spend your time helping members who are having problems logging in (yes I know WordPress has a 'Lost Password' feature, but owners of membership sites still receive constant enquiries about this.)

If you really want each user to have a separate login then you can create private categories instead of a whole membership plugin. This will automatically unlock your private categories to logged in users depending on their role. It's much easier than a full membership solution.

If you need to create a private area of your shop then the WooCommerce Protected Categories plugin is a great option. It's quick and easy to set up, and automatically protects all the products within your private or password protected categories. Simple!

Create a WooCommerce age restricted store

Password Protected Categories is ideal as a WooCommerce age verification plugin. You can use a password protected category to require customers to verify their age before they can view the age restricted products within.

Is it easy to use?

Absolutely, you can literally create WooCommerce private products within a minute or two. You can read the full plugin documentation here. We've also provided a detailed video tutorial on using the password protection plugin and marking products as private.

Where can I get the WooCommerce private products plugin?

So you'd like to password protect your WooCommerce categories or make them private! You can buy the plugin from here. It's much cheaper than setting up a full membership solution and we hope it is useful for making WooCommerce private and protected.

Or if you'd rather protect your entire shop, check out our WooCommerce Private Store plugin instead.

We've also created an opportunity to earn money from recommending the plugin. Sign up to our WordPress affiliate scheme and get 30% commission for WordPress plugin sales on our site.

AdapPymntRolesApp_BOne of our WooCommerce clients recently asked us to set up her WordPress online shop to automatically pay a profit share to her business partner.

Most WordPress e-commerce websites accept payments to a single source only. Typically, a WooCommerce store will integrate with a single PayPal account, to which all payments received via the website are sent. This client wanted a percentage commission or profit share to be automatically paid to a second PayPal account for specific products only.

WordPress plugins for WooCommerce profit share or commission

We initially thought that this would involve some bespoke WordPress development work involving WooCommerce and the PayPal API. However we found several WordPress plugins that met the requirements exactly. I guess that's not surprising given that 2,500+ WooCommerce add-ons are available in 2017.

These plugins work using a feature called PayPal Adaptive Payments. It lets you split a PayPal payment (e.g. from a WooCommerce product order) to multiple recipients.

There are 3 main WordPress plugins for using PayPal to pay a profit share or commission from your WooCommerce orders:

All of these plugins do largely the same thing. They all integrate PayPal Adaptive Payments with WooCommerce. They all split PayPal payments to multiple recipients using a choice of methods. These are Chained Payments, Parallel Payments or Standard Simple Payments. (Read the plugin documentation for definitions, as it's quite complicated.)

Although all 3 plugins looked fine and had quite good reviews, we chose the official WooCommerce extension. This is because it's safer to purchase plugins from a single company. WooThemes developed both WooCommerce itself and the PayPal Adaptive Payments plugin, so if we had any problems then they would have to take responsibility and couldn't blame the other developer. This is always a possibility when you combine plugins by multiple developers. Price-wise, the official plugin was the middle of the 3 options.

Our solution

We purchased the PayPal Adaptive Payments plugin and read the documentation, which was quite complex. Chained Payments was the best method for our client as it allows the commission to be automatically sent to our client's business partner without the customer knowing that this is happening.

We set up the plugin to work with WooCommerce products in a specific category only. The customer would pay via PayPal. It would look like their PayPal payment was going a single recipient. But behind the scenes, a 'Chained Payment' effect would kick in. A percentage of the payment was sent to our client's PayPal account and a different percentage was sent to her business partner. Perfect!

What's the catch?

The only downside is that PayPal Adaptive Payments are complicated. The fact that there's a plugin available doesn't make it easy to set up. We had to do a lot of fairly technical work to set everything up correctly. This included creating a PayPal App and submitting it to PayPal for approval. There were also several hoops to jump through such as providing PayPal with details of our client's business plan. (Because they wanted to check the payments were being used suitably.)

If you have a WordPress website and want Adaptive Payments, you'll probably need a WordPress web developer or agency to set it up. It's a great option if you want to automate more complex payment arrangements with PayPal.

WooCommerce shipping rates
WooCommerce is great and is the best plugin for most WordPress e-commerce websites. However its shipping options can be quite limited.

On the face of it, WooCommerce offers a good choice of delivery and shipping options - flat rate, free shipping, international flat rate, local delivery and local pickup.

Unfortunately this isn't as good as it looks for two reasons:

  • A lot of WordPress online shops need more granular control over their shipping rates - particularly if they ship to multiple countries or regions with different postage costs.
  • As it comes, WooCommerce only shows customers the shipping cost - or even whether you will ship to their country - on the checkout page. That's a disaster for WooCommerce stores that ship internationally! Customers get incredibly frustrated to add products to their cart and then discover that you either don't ship to their country, or that the shipping cost is too high.

Fortunately, there's an excellent solution to each of these problems:

  • Solution 1 - A lot of people add more flexible international shipping costs by using YITH's Product Shipping plugin
  • Solution 2 - The WooCommerce Shipping Calculator plugin lets customers check whether you ship to their country, and calculate the cost, directly on the product page. This is a super-simple way to avoid the frustration of getting bad news on the checkout. Either use it on its own or with YITH's plugin.

How to set up Flat Rate per State/Country/Region for WooCommerce

  1. Find the 'Flat Rate per State/Country/Region for WooCommerce 'plugin in the WordPress plugin repository. (Plugins → Add New in the WordPress admin for your website). Install and activate it as usual.
  2. Go to WooCommerce → Settings → Shipping in the WordPress admin. You will see that the plugin has added a new link to the right hand side of the list of shipping options: Flat Rate per State/Country/Region.
  3. Ignore all the information about which countries belong to different regions - you probably don't need this. Scroll down to the actual plugin settings and set up the plugin as required. It's pretty self-explanatory and you can hover over the question mark icons for an explanation of each option.

Note: If you use this plugin then it will control ALL your shipping options, replacing WooCommerce's built-in Flat Rate and International Flat Rate options. This means that you need to disable Flat Rate and International Flat Rate and use the 'Flat Rate per State/Country/Region' section to add ALL your postage costs, including your domestic shipping rate and the overseas shipping. If you forget to disable the other shipping options then they will appear as alternate shipping methods in the checkout.

Flat Rate per State/Country/Region for WooCommerce screenshotAn example of how to use the plugin

Although setting up this WooCommerce shipping plugin is fairly self-explanatory, here's a screenshot showing how to set it up to achieve the following scenario:

  • Shipping cost of $6.95 per order for the United States only (this example assumes that the website is based in the US).
  • Shipping cost of $15.00 for Canada.
  • Shipping cost of $22.50 for the rest of the world.

But what about shipping to individual countries within the UK?

TheFlat Rate per State/Country/Region for WooCommerce plugin is ideal for setting separate shipping rates for each country or region. However there are times when you want to break down your shipping zones further. For example you might want to charge different postage for England, Scotland and Wales - which WooCommerce treats as a single country (United Kingdom).

Since writing this post, WooCommerce has introduced shipping zones into its core plugin. This gives extra shipping options without needing any further plugins, so it's worth experimenting with. I've written a separate post about how to charge different shipping rates for each UK country.

Let customers calculate international shipping costs on the product page

Add shipping tab to WooCommerce product page

So far, you've learned how to solve the problem of not being able to add fine-grained shipping costs per country. The second problem was how to let customers check international shipping costs without having to add products to their cart first.

You can easily solve this by installing the WooCommerce Shipping Calculator plugin. This handy plugin adds a domestic or international shipping calculator to your chosen location on the product page. That way, customers can enter their country and see the shipping cost straight away. As a result, they can make an informed decision on whether to add it to their cart.

It's your turn

We've looked at two of the best WooCommerce shipping plugins:

I'd love to hear how you use them to improve how you charge for shipping per country. Please share your experiences in the comments below.