Nach 20 Jahren mit WordPress habe ich schon viel gesehen, daher freue ich mich, wenn ich eine Supportfrage finde, die ich nicht sofort beantworten kann. So brachte mich vor einiger Zeit eine Frage im Cachify-Supportforum dazu, über Konstanten in der wp-config.php
nachzurecherchieren. Und was ich herausfand, war höchst kurios. Denn obwohl sie an vielen Stellen noch ausgegeben werden, bin ich über Konstanten gestolpert, die im Core von WordPress gar nicht mehr benutzt werden.
Aber starten wir am Anfang: Die Frage bezog sich auf die folgenden vier Konstanten:
define( 'WP_CACHE', true );
define( 'COMPRESS_CSS', true );
define( 'COMPRESS_SCRIPTS', true );
define( 'CONCATENATE_SCRIPTS', true );
define( 'ENFORCE_GZIP', true )
WP_CACHE
sorgt dafür, dass die Datei wp-content/advanced-cache.php
geladen wird, so können Caching-Plugins standardisiert Code laden. So erklärt es das „Advanced Administration“-Handbuch.
CONCATENATE_SCRIPTS
erfüllt (so wie SCRIPT_DEBUG
) den Zweck, das Debuggen von Javascript-Dateien besser zu machen. Ersteres bestimmt, ob Dateien zusammengeführt werden sollen und letzteres, ob die minifizierten oder die Original-Dateien geladen werden sollen. Auch diese Erklärung findet sich im „Advanced Administration“-Handbuch.
Aber die drei Konstanten COMPRESS_CSS
, COMPRESS_SCRIPTS
and ENFORCE_GZIP
erfüllen gar keinen Zweck mehr. Ursprünglich wurde damit die Gzip-Komprimierung via PHP gesteuert. Aber das ist viel effektiver über eine Serverkonfiguration gelöst als über PHP. Aus diesem Grund wurde diese Funktion schon vor Jahren (um Version 4.9.9/5.0) entfernt:
https://core.trac.wordpress.org/ticket/44815
Leider wurde dabei vergessen, diese Konstanten auch aus den Inline-Docs zu entfernen. Und auch der Website-Zustand (aka Site Health) zeigt zwei davon unnötigerweise noch an:

In #44815 wurde der „c“-Parameter (für compression) in load-scripts.php
und load-styles.php
entfernt. In der script-loader.php
wird er aber immer noch geprüft und die Konstanten in den Inline-Docs erklärt.
Ein Check mit wpdirectory.net nach diesen drei Konstanten zeigt diverse Treffer (29, 44 und 46 – je nach Konstante) im Plugin-Verzeichnis an, aber ein genauerer Blick zeigt, dass dies ausschließlich Debuginfos oder System-Status-Seiten von den Plugins sind. Kein einziges Plugin nutzt diese Konstanten für ihren eigentlichen Zweck, über PHP eine Gzip-Komprimierung vorzunehmen.
Weil es keine offizielle Deprecation-DevNote dazu gab, die Inline-Dokumentation nicht aktualisiert wurde und auch die offizielle Hilfe (wie das „Advanced Administration“-Handbuch) diese Information nicht enthält, konnte auch kein LLM (aka KI) mir helfen. Alle Systeme behaupteten überzeugt, dass diese Konstanten noch existieren und genutzt werden. Aber der eigene Blick in den Code zeigte deutlich, dass dies schlicht nicht stimmt.
Gerade bei solchen Edge Cases hilft uns kein „Reproduktionswerkzeug“ wie ein LLM, dass nur Bestehendes neu kombinieren kann. Von echtem Verständnis sind diese Tools noch weit entfernt.
Für WordPress 6.8 kam die Recherche leider zu spät, aber die Änderung ist schon im Milestone für WordPress 6.9, was ja leider bekannterweise erst nächstes Jahr kommen wird:
https://core.trac.wordpress.org/ticket/63017
Ist dir so etwas auch schon mal aufgefallen? Veraltete Doku, ungenutzter Code oder ähnliches? Dann freue ich mich über deine Geschichte (+Link) in den Kommentaren!
Ein faszinierender Fund, vielen Dank für den Beitrag!
Toller Fund
Kleiner technischer Hinweis, die Anführungszeichen bei den Konstanten sind falsch, es sollten einfache Hochkommata sein, keine öffnende/schliessende bzw. links/rechts. Eventuell spielt Dir WordPress hier einen Streich.
Am Rande, solche Hinweise müssen nicht als Kommentar veröffentlicht werden, Korrektur im Beitrag genügt. Danke für Deinen interessanten Content!
Danke für den Hinweis! Ist korrigiert. Ist mir beim Kopieren nicht aufgefallen.