I'm going to build a website where the main landing pages will be categories and product filters.

For example we will have a product website, where each product may have many different attributes (ex: product category is Jeans, attributes (filters) for this category/products are: color, material, size, etc., just like any e-commerce website). But I simply need only categories with filters, most of the products will be generated automatically, by using different APIs, some will be added manually like normal posts.

So the main question is how to organize this structure for attributes?

  1. Use Custom Taxonomies with Terms for attributes like Woocommerce does, but in this case I need a lot of coding to make all this compact view in Admim and also it may have a performance impact when we will have too many taxonomies and terms. Also I don't like the idea to create a new Taxonomy for each attribute, In this case I will have too many taxonomies.
  2. Use Custom Fields and then by using query_vars filter build Permalinks, Query Vars and URL Rewriting, etc.

Perhaps I will even use ACF PRO plugin to simplify admin coding.

So what do you think which option is better, have best performance and is the good practice?

Thanks in advance.

PS: Don't want to use WC, because don't need all these functions. Need something simple with less code.

  • This is a very interesting question, I am sure you will more proposals.
    – prosti
    Dec 31, 2016 at 2:04
  • If you're querying on the data, taxonomy queries are far more optimized for performance than custom fields.
    – Milo
    Dec 31, 2016 at 2:31
  • Sure, I'll make queries to get different results. For example to get all jeans with color blue and size 33. But as I mentioned before I will have not too much product posts created via WP. the result will be built with content from other APIs (90%) + some existing posts (10%) then I'll cache it for 24 hours.
    – solosik
    Dec 31, 2016 at 2:36

2 Answers 2


Finally after the holidays I returned back to this question.

I chose to use Custom Taxonomies instead of Custom Fields.

Here is why:

  1. It's faster to make different queries (even if I will not have many posts)
  2. Most of these attributes are reusable (shared)
  3. They may be changed/modified easily in the future
  4. I'm not going to have too long list of Taxonomies
  5. ...

Here're some links:

  • for grouping together items, taxonomies are logically better. custom fields are better when there is more than just association especially when the range of values can be truly dynamic or very sparse. Jan 5, 2017 at 4:13
  • Totally agree. This post highlights all the benefits of using custom taxonomies for querying post instead of custom fields.
    – Anh Tran
    Aug 2, 2017 at 7:17

The answer is so simple.

Use Custom Fields

It is exactly what codex explains that you need to do.

  • I'm a little bit confused because the most popular e-commerce solution uses taxonomies in the same situation. Perhaps I'm missing something...
    – solosik
    Dec 31, 2016 at 1:45
  • you can use the categories (already there) and not custom taxonomies.
    – prosti
    Dec 31, 2016 at 1:49
  • Do you mean Woocommerce? Because they're using custom taxonomies for product attributes.
    – solosik
    Dec 31, 2016 at 1:51
  • Woocommerce! I haven't mentioned that.
    – prosti
    Dec 31, 2016 at 1:52
  • 1
    Thanks for your help and your point of view. I wil wait for some more opinions about this topic. It should help to make a decision ;-)
    – solosik
    Dec 31, 2016 at 1:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.