Displaying shortcodes in the product table
shortcodes option tells WooCommerce Product Table to display content generated by any shortcodes, HTML or other formatting used in the fields that you are displaying in the product table. If you don't use this option then the product table will display your content as plain text, so you might see raw shortcodes or HTML code in the table.
Examples of shortcodes in a product table
There are lots of reasons why you might want to display shortcodes, HTML or other formatting in a product table. For example:
- WordPress provides several built-in shortcodes for displaying audio files, embedded videos, media playlists and image galleries. These can be displayed directly in a product table.
- Your theme or another plugin might also provide shortcodes, for example to display buttons or icons. You can display these in a product table.
- You might want text formatting such as bold, paragraph breaks or hyperlinks to appear in the table, instead of having this stripped out.
Why don't my shortcodes or HTML display in the table?
shortcodes is set to
false which will remove all shortcodes from your table, as well as disabling other formatting such as HTML. This is because:
- Processing shortcode content can take a significant amount of time – especially for large tables – so enabling them can have a performance impact on your site.
- Shortcodes often add HTML to the content which makes it difficult to limit content to a set number of words (see
description_length). For this reason, if you enable shortcodes, then the full description is always displayed and the
description_lengthoption is ignored.
How to display shortcode content in WooCommerce Product Table
You can display shortcode and other formatting in the table by ticking the 'Display shortcodes, HTML and other formatting inside the table content box on the plugin settings page, or by adding
shortcodes="true" to the product table shortcode.
Once you've done this, you can add shortcodes to the
short-description or any custom field that you are displaying as a column in the table.