Die Tatsache das Wordpress, immer noch Testen muss welche Klasse geladen ist, das Teilweise immer noch Dateien inkludiert werden anstelle mit Autoloader Klassen zu laden.
Vor allem beim Arbeiten mit anderen Modulen ist das tödlich.
Aber es kommt drauf an wie tief das Verständniss ist, was man machen will und wie der Geschmack ist.
Jedes Mal wenn ich mit Wordpress gearbeitet habe bin ich schreiend in Wände gelaufen um mich zu entspannen, und ja, es kann sein das ich immer wieder was falsch gemacht habe als ich mit WP gearbeitet habe, aber da wäre ich dann nicht der Einzige in meinem Bekanntenkreis

.
bzgl. des Designs was Core angeht.
Dateien sind für bestimmte Funktionen zuständig und kein Unified Workflow. zB wp-login.php
Es gibt mehr als einen Exitpoint(kein Unified Workflow) siehe exit(). in wp-login.php
Das Templating setzt schließende und öffnende Tags ganz komisch, was dazu führt das man häufiger mal schließende Tags vergisst, da sie auf unterschliedlichen Levels sind.
Templates und Logik sind vermischt, und dazu kommt dann auch noch inlineJS.
Man muss den gesamten Code lesen, bzw. kennen damit man weiss was welcher Datenflow macht(wieder schlechtes Design).
Du hast mehr als eine index.php in der Applikation die alle möglichen Sachen lädt.
Die Applikation verändert die .htaccess.
Und all das zieht sich auch durch alle Module.
Das ist im Grunde genommen der Wilde Westen.
Ein Legacy-Projekt das man zu einem Framework tituliert hat.(ok nicht ganz so schlimm, es gibt schon mechanismen die man benutzten kann, aber das macht es IMHO nicht besser).
Gruß
Fluffy
P.s.:
Vom globalen omnipräsenten und immer nervigen Global State ganz zu schweigen.
Der durch die Dateibasierte Funktionalitätsstruktur begünstigt wird.
Ja es gibt auch Klassen in Wordpress, aber diese Klassen sind nicht die treibende Kraft im CMS sonder nur zur Funktionsakkumulation von Sachen die man ggf. benutzten möchte und sie sind auch noch in der Unterzahl. vom fehlenden Namespace und antiquierten Prefixes will ich gar nicht erst reden.
Das Laden der Klasse erfolgt auch nicht mittels Autoloader, und die Benutzung und ersetzung ist auch nicht gerade ohne.
Und durch die Art wie Klassen benutzt werden, ist es auch nicht einfach andere Funktionalitäten einzubauen die nicht WP sind, zb Zend-Packete.