1. Home
  2. Knowledge Base
  3. WooCommerce Product Table
  4. Product Table Options

Product table column widths

WooCommerce Product Table automatically sizes the columns for the best fit. You can override this behavior and control the column widths manually by adding the widths option directly to the shortcode.

This is a way to force more or less space for specific columns in the table. For example, you can use this to increase the width of the Buy column if you have lots of variations or product options.

How to force column widths to a certain size

To use the widths option, you need to enter a value for each column in your table – either a percentage, a pixel amount or the word auto to have the plugin calculate the width automatically.

For example, let's say you have 3 columns in your table - name, description and price - and you want to set the width of name to 20%, description to 50% and price to 30%.

You can achieve this with the following shortcode:
[product_table columns="name,description,price" widths="20%,50%,30%"]

In the next example, we want to set the width of the first column to 50px and automatically size the other columns. We would use:
[product_table columns="name,description,date,buy" widths="50px,auto,auto,auto"]

As auto  is the default column width when no value is given, the above example can be simplified to the following:
[product_table columns="name,description,date,buy" widths="50px"]

Common problems

The widths option isn't working

If the widths option isn't working, then it might be that you have set the width too narrow and the contents will no longer fit in the column. Instead of allowing it to look broken, the plugin will make the width wider so that the contents fit. Try increasing the width of the affected columns.

I have multiple tables on the same page and I want them all to line up

The column widths are calculated for each table individually. If you have more than one table on a page, you can use the widths option to force the widths to be the same for each table by giving each table the same widths value.

My column widths change when I move from one page to the next, or use the filters

This can happen if the contents of a column contains a different number of characters for each product. The width of each column of the table is calculated based on the current products on that page of the table, so this might change when you perform a filter or go from one page to the next. Use the widths option to force the columns to always be the same width.

Related Articles

If searching the knowledge base hasn't answered your question, please contact support.