It’s not hard to find criticism about namespacing and autoloading in WordPress, and lack thereof. As much as I’d like to see it, I think it’s important to take a practical look at the software as a whole, the requirements, and realize that implementing such organization would require a lot.
Specifically, it would require applying object-oriented programming throughout the entire codebase (which would last longer than a release cycle in and of itself).
It would also require that all hosts who support WordPress on any level (yes, even those supporting legacy versions) can handle the new features.
In short, it’s not an easy task and it’s important to recognize the practical challenges that come with doing so in 13 year old software powering approximately 25% of the web.
It’s not that it can’t be done, that it won’t be done, that people don’t want it done. But it’s requires exceptional planning, execution, testing, and support from a wide array of situations that I don’t know if I can even fully grasp.
With all of that said, though, this doesn’t mean that we can’t use namespaces and autoloading in our WordPress projects.


