Gleiche Kopf- / Fußzeile in Admin, über alle Netzwerk-Sites in Multisite

Ich habe ein paar Ideen herumgekickt, um das zu erreichen, und mir etwas eigenartiges ausgedacht … aber es funktioniert.

Ich erstelle ein Thema für Admin, für mein Multi-Site-Netzwerk. Die Benutzer werden sowohl mit Front- als auch Back-End-Seiten konfrontiert, wenn sie eingeloggt sind. Daher ist es für mich wichtig, ein konsistentes Aussehen zu haben, wenn sie beide Räume durchqueren – ich will nicht, dass sie in den WP fallen. ” plain alt “Admin-Dashboard.

Wie erhalten Sie also, dass die thematische Kopf- und Fußzeile der Basis-Website auf einer beliebigen vernetzten Site angezeigt wird, wenn der Benutzer angemeldet ist und sich im Back-End befindet?

Solutions Collecting From Web of "Gleiche Kopf- / Fußzeile in Admin, über alle Netzwerk-Sites in Multisite"

Folgendes habe ich getan:

ob_start() und ob_get_clean() wurden an strategischen Stellen in header.php und footer.php innerhalb eines footer.php Themas footer.php das vom Hauptthema meiner footer.php abgeleitet wurde.

  ob_start() 
< ?php $html = ob_get_clean(); echo $html; harvest_html($html, 'header'); ?>

Die function harvest_html übernimmt einfach die Zeichenkette und schreibt sie in eine Datei. Ich mache das gleiche für die Fußzeile. Um den Overhead niedrig zu halten, lasse ich diese function nur ausführen, wenn der Benutzer is_super_admin() . Solange sich der Super Admin mindestens einmal anmeldet, wird die Kopf- / Fußzeile geerntet.

Dann injiziere ich in einem einfachen Plugin den geernteten HTML- admin_head in den Admin, indem ich ihn mit admin_head und in_admin_footer . Natürlich muss zu diesem Zeitpunkt auch jedes erforderliche CSS oder JS in die Warteschlange eingereiht werden.

Es klappt. Jeder Benutzer, der bei seiner Subdomain-Site angemeldet ist und auf eine Admin-Seite wechselt, erhält die Kopf- / Fußzeile der Basis-Site, unabhängig von dem Thema, das er gerade verwendet.

Und es ist relativ wartungsarm, da alle Änderungen in der Kopf- / Fußzeile für die Basis-Site automatisch erfasst werden.

Ich behandle auch Teile von Kopf- / Fußzeilen, die dynamisch sind (zB wenn PHP den Namen oder die Uhrzeit des Benutzers wiedergibt, usw.), indem functionsaufrufe analysiert, durch einen speziellen Wrapper identifiziert und dann zurückgesendet werden In dem Punkt, in dem sie in Admin injiziert werden.