Einige Erklärungen
Zuerst müssen Sie den Zweck von functions.php in einem Thema verstehen. Functions.php ist im Grunde nur eine Plugin-Datei ohne Namen, die, falls vorhanden, automatisch von Wordpress geladen wird. Wordpress lädt die function.php Ihres aktuellen Themas für WordPress-Front-End-Seiten und Back-End-Seiten (Admin).
Es gibt keinen Unterschied zwischen einem Plugin und functions.php, außer dass Plugins einen Namen haben und unabhängig von anderen Plugins und Themes aktiviert / deaktiviert werden können. Die funtions.php ist an Ihr aktuelles Thema angehängt. Wenn Sie zu einem anderen Thema wechseln, verwendet Wordpress die functions.php des neuen Themas und nicht Ihre alte functions.php mit benutzerdefinierten Änderungen.
Theme-Updates überschreiben auch functions.php und es gibt keine Möglichkeit, dies zu vermeiden. Selbst wenn Sie Ihre benutzerdefinierten Änderungen in separaten Codedateien ablegen und in Ihre fucntions.php aufnehmen, müssen Sie diese Include-Zeile nach jedem Update hinzufügen.
Im Allgemeinen die Art des Codes, der in functions.php enthalten sein sollte:
- Funktionen, die in den Vorlagendateien Ihres Themas verwendet werden.
- Themenoptionen
- Seitenleisten
- Navigationsmenüs
- Postformate
- poste Thumbnails
- Jeder Code, der sich nur auf das aktuelle Thema bezieht.
Da Sie Ihre benutzerdefinierten Änderungen beibehalten möchten, auch wenn Sie die Themen wechseln. Da das untergeordnete Thema in diesem Fall nicht funktioniert, werden Sie das Thema wechseln und die functions.php des untergeordneten Themas wird nicht verwendet.
Die Lösung
Die einzige von @Otto empfohlene Lösung besteht darin, eine Plugin-Datei zu erstellen. Der Ansatz, den Sie zum Erstellen Ihres ortsspezifischen Plugins verwenden können, besteht darin, einen Ordner mit Ihrem Site-Namen in 'wp-content / plugins' zu erstellen und darin Plugin-Dateien zu erstellen.
Warum Plugin-Dateien? und keine einzelne Plugin-Datei.
Gruppieren Sie die Funktionen der gruppenbezogenen Site in Bezug auf Code in separaten Plugin-Dateien. Vergessen Sie nicht, den Plugin-Header in alle Plugin-Dateien einzufügen, damit diese von Wordpress als separate Plugins erkannt werden. Sie haben dann die Möglichkeit, verschiedene Features / Funktionen Ihrer Site zu aktivieren / deaktivieren, ohne alles zu beschädigen.