get_header (), get_footer () aus der Plugin-Vorlage

Ich habe ein Plugin erstellt, das einen benutzerdefinierten Post-Typ registriert. Ich möchte eine benutzerdefinierte Kopf- und Fußzeile für den benutzerdefinierten Beitragstyp aus dem Plugin laden.

Nach einigen Google-Recherchen kann ich sehen, dass es nicht möglich ist, get_header () zum Laden zu verwenden. Deshalb habe ich Folgendes versucht:

 

Was ich jetzt sehen kann, ist genau das gleiche wie die Verwendung von get_header () und so funktioniert es offensichtlich nicht. Der Kodex hat mich auf load_template () https://codex.wordpress.org/Function_Reference/load_template verwiesen

Ich verstehe nicht wirklich, wie man es benutzt, kann mir jemand helfen, das herauszufinden?

Meine benutzerdefinierte Theme-Datei ist header-trademanager.php und befindet sich in plugin / templates

Solutions Collecting From Web of "get_header (), get_footer () aus der Plugin-Vorlage"

Ich glaube nicht, dass Sie die geladene Datei für get_header / get_footer in etwas außerhalb des Stylesheet / Theme-Verzeichnisses ändern können.

Wenn Sie header-trademanager.php in den Theme-Ordner stellen, sollte get_header("trademanager") funktionieren.

Ich hatte erwartet, dass irgendwo in get_header oder locate_template ein Filter angewendet wird, aber es scheint, dass es an dieser Stelle nicht anpassbar ist.

Es gibt keinen Filter, mit dem der Speicherort der Kopfzeilenvorlage geändert werden kann. Sie können den Namen der Vorlage ändern, sie muss jedoch im Themen- oder untergeordneten Themenverzeichnis enthalten sein. Dies ist anders als bei allen anderen Designvorlagen, die gefiltert werden können, Header- und Fußzeilenvorlagen müssen sich in Themen- oder untergeordneten Themenordnern befinden.

Die function load_template () hat keine Filter, um den Dateipfad zu ändern.

Im Allgemeinen sollte das Frontend nicht in einem Plugin behandelt werden, außer für Widgets und Shortcodes. Frontend ist die alleinige Verantwortung eines Themas.

Sie können mit diesem oder jenem Haken spielen und etwas erhalten, das manchmal funktioniert, aber es ist unwahrscheinlich, dass es mit allen Themen funktioniert.

Am besten ist es, die page.php oder single.php Vorlagen des Themes zu verwenden. Laden Sie es für Ihren Post-Typ und manipulieren Sie, was dort möglich ist. Dies ist bestenfalls nur möglich, um etwas Output zu haben, die Chancen, dass es für mehr als die wenigen Themen, mit denen Sie es testen werden, tatsächlich gut aussieht, sind gering.