WordPress is an eleven year old application. Sometimes code can be introduced that ends up causing major headaches. Moreover, it’s not always a simple process to fix; in fact it can be really complicated.
Term splitting is one such bug. Scott Taylor has a blog post that describes the issue succinctly, but if you’ve been doing web development with WordPress for a while you’ve probably run into it.
Ryan McCue ended up reporting the ticket (#5809) that was home base for this bug… 7 years ago. He was 14 by the way. Now he’s leading the WordPress REST API project at 21. How about that for a side note?
After a lot of floundering, Boone Gorges ran with it about four months ago and this is the code that was committed for the fix.
Boone also wrote an excellent developer guide for dealing with this change, which is an important component to the overall taxonomy roadmap that was outlined late last year. It turns out some of the most popular plugins in the repository will require changes to manage the fix. That’s okay, it was necessary.
This is a prime example of what makes WordPress great. This was not an easy issue but folks came together and made it happen. I wish it didn’t take 7 years, but what we have here is dedicated volunteers that have gone above and beyond that an issue got fixed the right way, and enables further advancements to the platform down the road.