I have been in utter hell for some months.
I come from a world where OOP is embraced for what it is, a godsend unto maintainability.
Where backwards-compatibility is respected in minor point versions. Where multiple 'plugins' or 'hacks' can, and often do simply play nicely with one another without conflict or code modification therein.
Where 'themes' are simply meant to display the data, not add additional functionality, and mancode, or business logic as some call it, is never to be found therein.
Where pollution of PHP Userland with global variables and functions is rightly considered a sin.
I implore the maintainers of this Open-Source code, think about those who work to integrate against your code, and ask yourselves, why, when PHP4 is not just EOL, but DEAD, WordPress is still a procedural mess with objects here and there?
Why is it you have a plethora of plugins, but so very few that have any staying power to stay supported throughout the latest and greatest version?
Why you continue to stack features atop this codebase without rewriting it is beyond me, as it cannot be sanely maintainable in any fashion at this point, I am merely a plugin author and I am starting to lose it simply trying to maintain that plugin in this procedural wasteland.
Your Codex examples all use global functions, why? The most basic beginner of PHP should know what a class is, it is as basic as expressions to the language, and is no complex subject.
Ask yourself seriously why so many modifications are implemented as 'themes' instead of 'plugins', thereby limiting the ability to be used with any theme.
Most of all, ask yourself how many times you have had to scan a 2k-line file of completely unrelated global functions to fix a bug(pluggable.php, I humbly submit, is a joke, it is 'pluggable' for the FIRST to overload it, and *no other*). How much of your HTML is in your PHP, and vice versai. How many times the 'global' keyword has to be used. How the future of this codebase will fare, when the next dev down the line has to hunt through these global functions to fix anything, much less add a feature.
Can you please stop stacking features in atop this aging and fairly flawed codebase, and for a major version, rewrite it using current standards? Please?
As it stands, I am having to wrap this procedural mess in my own abstraction layer just to use it in a centrally maintainable manner.
I have many 'plugin' and 'theme' conflicts I can do nothing about by design of the wordpress codebase.
*Every* minor point version of wordpress breaks *something*. I do *have* to support the code I write.