it-swarm.com.de

JS-Snippet in die Fußzeile einfügen, wenn es kein wp_footer gibt?

Ich habe ein Plugin geschrieben, das wp_enqueue_script() verwendet und das Snippet je nach den übergebenen Parametern entweder in der Kopf- oder in der Fußzeile enthält. Der Parameter in_footer funktioniert hervorragend - wenn das Thema den Hook wp_footer() verwendet.

Welche Optionen stehen mir zur Verfügung, wenn ich das JS-Snippet direkt vor dem </body>tag einfügen möchte, wenn für ein Thema kein wp_footer() hook verwendet wird?

2
Casey

Wenn das Theme wp_footer() nicht implementiert, wird eine Menge von Funktionen, die davon abhängen, kaputt gehen. Aus diesem Grund ist die Implementierung von wp_footer()erforderlich, damit Ihr Thema im WP.org-Verzeichnis akzeptiert wird . Es ist also nicht unvernünftig, zu brechen, wenn wp_footer() fehlt.

Stellen Sie sicher, dass Sie in Ihrem FAQ einen Hinweis hinzufügen, dass Sie wp_footer() im Design benötigen. Sie können auch eine Prüfung in Ihre Plugin-Administrationsseite einfügen: Die Prüfung auf das Vorhandensein von wp_footer() kann so einfach sein wie das Laden einer Seite mit einer speziellen $_GET -Variablen im Hintergrund, die einen Hook auslöst, der einen Steuercode in wp_footer ausgibt, und das Lesen das Ergebnis, um zu sehen, ob dieser Steuercode gefunden werden kann.

2
Jan Fabry

Sie können die Ausgabepufferung verwenden und das Skript an das Ende anhängen. Das solltest du aber nicht.

  1. Es ist langsam.
  2. Es ist nicht sicher. Einige andere Plugins könnten direkt vor Ihnen laufen und alles zu gzip komprimieren. Sie würden in diesem Fall nur die gesamte Seite ungültig machen.
  3. Möglicherweise hat der Benutzer wp_footer absichtlich entfernt.

Nebenbei: </body>, das schließende Tag, ist optional. Ich habe es seit 2001 nicht mehr benutzt. Darauf können Sie sich also nicht verlassen.

1
fuxia