Product Attributes Shortcode

Description

Provides a shortcode to display a linked list of terms from a product attribute, such as all brand links from a brands attribute.

Features

  • Displays a list of all terms from a specific product attribute
  • Choose if these links filter products or go to term archives
  • List of terms does not reduce as products are filtered
  • Various shortcode attributes to modify the display

Usage

Use the following shortcode replacing the x with your attribute name:

[wcpas_product_attributes attribute="x"]

If your attribute has spaces in the name then replace these with hyphens in the shortcode, if you have other characters in your attribute name see the related FAQ below.

The shortcode uses some default attributes, you can set these attributes if needed:

  • archive_links1 to enable archive links e.g. /brand/sega/, 0 to disable e.g. /shop/?filter_brand=sega, default is 0
  • hide_empty1 to hide empty terms, 0 to disable, default is 1
  • max_price – Use a maximum price number for links to include a maximum price filter, requires archive_links="0", default is empty
  • min_price – Use a minimum price number for links to include a minimum price filter, requires archive_links="0", default is empty
  • orderby – Any orderby parameter, default is name
  • orderasc or desc, default is asc
  • show_counts1 to enable a count next to each term, 0 to disable, default is 0

Example shortcode using optional shortcode attributes:

[wcpas_product_attributes attribute="brand" archive_links="0" min_price="50.00" show_counts="1"]

Screenshots

  • Shortcode display
  • Shortcode added via block

Installation

Minimum requirements

  • PHP 7.0.0
  • WooCommerce 5.0.0
  • WordPress 5.4.0

Installing

You can install Product Attributes Shortcode via:

  • Automatic installation
  • Manual installation with FTP client
  • WordPress dashboard upload

More information

FAQ

Nothing is displaying?

Ensure you have included the shortcode correctly and that the attribute you are using has products assigned. If nothing is still displaying the attribute name you have entered may not be in the correct format, see the related FAQ for more information.

What attribute name/format do I use?

If your attribute is a single word you just need to enter that. If your attribute has spaces in the name, replace these with hyphens in the shortcode attribute. For more complex attribute names e.g. with special characters you can determine what the attribute name is by editing the attribute in Products > Attributes, in the URL you will see something like /edit-tags.php?taxonomy=pa_example-attribute&post_type=product, the part after the pa_ and before the & is your attribute name, in this example it is example-attribute.

Why aren’t my list of terms linked?

The list will not include links on the terms if you are using archive_links="1" and the attribute used does not have archives enabled on the attribute which is set when editing the attribute in Products > Attributes.

My terms are linked but the links do not work?

Links are filter based which use your shop page (unless you are using archive_links="1"), if they are not working you may have not configured a shop page in WooCommerce, this is created during installation of WooCommerce, if it has been removed it will need recreating.

Minimum/maximum price is not working?

These are filter based and therefore require archive_links="0".

Can I use it in a page/post/widget/other?

You can use it anywhere you can use a shortcode.

Can I use it in a PHP template?

Yes, use the do_shortcode function of WordPress to echo the shortcode.

How do I style it?

You will need to apply some custom CSS styling, each list is a <ul> element with the class wcpas-product-attributes. To target specific attribute lists we have also included unique IDs.

Reviews

Read all 1 review

Contributors & Developers

“Product Attributes Shortcode” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.5.0 – 2022-10-22

  • Added: If attribute is not entered lower case it will still display the list
  • Changed: Filter links now use add_query_arg
  • Changed: Code refactoring
  • Changed: PHP requires at least 7.0.0
  • Changed: WooCommerce requires at least 5.0.0
  • Changed: WordPress requires at least 5.4.0
  • Changed: WordPress tested up to 6.0.3

1.4.0 – 2022-04-23

  • Added: Escaping of URLs, attributes and overall attributes list markup
  • Changed: WordPress tested up to 5.9.3

1.3.0 – 2022-03-25

  • Added: wcpas_product_attributes_translation function
  • Added: WooCommerce not installed/activated notice
  • Changed: WordPress tested up to 5.9.2
  • Fixed: Translations may not load due to load_plugin_textdomain not hooked on init

1.2.0 – 2021-07-16

  • Added: min_price attribute (archive_links must be false to use)
  • Added: max_price attribute (archive_links must be false to use)

1.1.0 – 2021-05-12

  • Added: archive_links attribute
  • Changed: Default link used is a filter based term link

1.0.0 – 2021-05-11

  • Initial release