PHP: Warum funktioniert mein Code in index.php, aber kein Widget?

Ich arbeite seit 7 Tagen direkt an perfektem Code, der auf Seiten mit Kindern ein Untermenü generiert. Da es so komplex war, dachte ich, ich würde es in meine index.php-Datei schreiben und es dann zu einem Widget-Plugin migrieren, sobald ich es funktionierte. Es funktioniert jetzt einwandfrei, aber wenn ich es zu meinem Plugin verschiebe, identifiziert es die Seitenebenen (Eltern / Kind / Enkel) nicht korrekt. Ich habe das Plugin getestet, um sicherzustellen, dass ich mit dem Setup nichts falsch mache. Es funktioniert wie es sollte.

Hier ist der Code, der in meiner index.php korrekt funktioniert. Ich versuche, den ganzen Code innerhalb meiner