My overall goal is to have a custom post type and on the archive page have several different filters in the sidebar, like on a lot of ecom sites. I think this would normally be done in Wordpress using several taxonomies. In my case I need these filters to be dynamic, meaning the client can log-in to the admin and add filters and options under those filters.
I am looking for any advice on how to achieve this, without a plugin.
I was thinking...Use advanced custom fields to dynamically create new taxonomies. Then I could use those taxonomies to filter my post type.
Any help would be appreciated!
FYI - I am in the early stages and trying to plan this out, I haven't coded anything.
My overall goal is to have a custom post type and on the archive page have several different filters in the sidebar, like on a lot of ecom sites. I think this would normally be done in Wordpress using several taxonomies. In my case I need these filters to be dynamic, meaning the client can log-in to the admin and add filters and options under those filters.
I am looking for any advice on how to achieve this, without a plugin.
I was thinking...Use advanced custom fields to dynamically create new taxonomies. Then I could use those taxonomies to filter my post type.
Any help would be appreciated!
FYI - I am in the early stages and trying to plan this out, I haven't coded anything.
Share Improve this question edited Oct 9, 2019 at 13:22 RiddleMeThis asked Mar 30, 2016 at 21:26 RiddleMeThisRiddleMeThis 3,8078 gold badges22 silver badges30 bronze badges1 Answer
Reset to default 0Recommended (CPT):
Easier option is to get a custom post type plugin that also has a feature to create custom taxonomies. It is very flexible and let's you configure it precisely you want it to behave like and in the end you can export the code that generates your custom taxonomies and add it to your functions.php so you would save db hits. You can also install ACF to add custom fields to your taxonomy terms.
Using only ACF:
Advanced custom fields itself do not let you create new taxonomies, it can only display your custom input fields on the admin page you want with ease. It also binds that field with the page/term/post/cpt/page/user depending on where you set the field to show up. Ex you create a custom field input named post_subtitle
and set it to show up on post edit page, now that field is automatically bind with post type post
and it will save field values to wp_postmeta
table. If you would add that field to a user page it would save its data to wp_usermeta
table.
What you can do with ACF is have a repeater field plugin for it and also options page plugin (they are all included in ACF 5 Pro). Create a repeater field called custom_taxonomies
and set that field to show up on options page. That field data will be saved to wp_options
table. Now in your functions.php (if you code in theme) loop through that repeater field and register your taxonomies using wp's register_taxonomy
method. If your not familiar with wp actions and filters i suggest you get familiar with them, because you have to set your code blocks to run at correct actions for them to show up in wp admin.
Custom code:
If you want to code this yourself you have to keep in mind that taxonomies are not held in database by default but taxonomy terms are. I would go with same approach as woocommerce does, create a new database table where you hold your taxonomy info and load them up every time you need them. Create new admin page and display input field(s) where you can add new taxonomies, edit existing ones etc. It is all doable but this method takes a lot of time and code and is not usually worth it because there are very reliable plugins that can help you inventing the wheel part.