categories – What is the best approach to rebuild product category tree completely?
I have a pretty large hierarchical list of product categories (almost 300) which I need to rebuild from scratch. Once the category tree is completed, I need to re-assign all existing products (more than 10 thousands) to the new categories. Since it is definitely not a single-day job, and there are various changes happening to products every day, I prefer doing it on production, instead of building the tree locally and then somehow merging those database changes into production.
The only reasonable approach I can think if is:
- Build the new product category tree on production, with a temporary pattern in name/slug (e.g.
tmp-my-new-category
), while somehow keeping all thesetmp-
product categories hidden on the front end. - Once the tree is built, I will re-assign all existing products to the new categories (while keeping them in original ones as well), up until this point the customer shouldn’t notice any changes.
- When this is done, I delete all old categories completely.
- Immediately after step 3 I would run a PHP script that would bulk remove all
tmp-
substrings from product category slugs. For this,wp_update_term()
should work.
With this approach I believe I would end up with little to none “blackout” time (when no categories are visible on the front end), which in combination with caching shouldn’t be a problem at all.
My question is, would this be a correct approach or is there a better way?
(I know this might be considered to be an off-topic question here, but I believe I might get a good, straightforward solution).
Thank you.
Leave an answer