Ich weiß, dass ich der Fußzeile von WordPress eine Skriptdatei hinzufügen kann, für die eine Abfrage mit folgendem Code erforderlich ist:
<?php
function my_scripts_method() {
// register your script location, dependencies and version
wp_register_script('custom_script',
get_template_directory_uri() . '/js/custom_script.js',
array('jquery'),
'1.0',
true);
// enqueue the script
wp_enqueue_script('custom_script');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
?>
Aber was ist, wenn ich nur einen normalen Ausschnitt von jquery inline hinzufügen möchte, keine Datei. Wie kann das gemacht werden?
Bearbeiten
Ich weiß, dass ich dieses Skript verwenden kann, um der Fußzeile etwas hinzuzufügen:
<?php
function myscript() {
?>
<script type="text/javascript">
// This depends on jquery
</script>
<?php
}
add_action('wp_footer', 'myscript');
Aber wie spezifiziere ich das Skript, das verwendet wird, erfordert die Ausführung von jquery .
plugin-development
jquery
wp-enqueue-script
Saif Bechan
quelle
quelle
wp_register_script
und eswp_enqueue_script
gibt sie, aber Sie können sie mit jquery selbst überprüfen.wp_enqueue_script
Skriptdatei in die Fußzeile einfügen, sondern einen Ausschnitt in die Fußzeile einfügen, für den eine Abfrage erforderlich ist. Ich habe die Antwort direkt aus dem Kodex runtergestimmt. Ich habe den Kodex gelesen und keine Antwort gefunden, deshalb stelle ich eine Frage. Wenn Sie mich erneut zum Codex weiterleiten, habe ich abgelehnt.Antworten:
Der einfachste Weg, dies zu tun, ist tatsächlich eine Kombination aus
wp_enqueue_script
und den Fußzeilenaktionen, auf die Saif und v0idless bereits verwiesen haben. Ich verwende häufig jQuery in meinen Designs und Plugins, aber ich füge auch alle anderen Skripte in die Fußzeile ein.Der beste Weg, um Dinge in die Warteschlange zu stellen, ist folgender:
Dieser Code geht jedoch davon aus, dass Sie diejenige sind, die das Skript in die Warteschlange stellt, dh, Sie tun dies in Ihrem eigenen Plugin oder Thema.
Momentan gibt es keine Möglichkeit, ein Inline-Skript in die WordPress-Fußzeile einzufügen und es auch mit Abhängigkeiten zu laden. Aber es gibt eine Alternative, wenn du willst.
Die Alternative
Wenn WordPress mit Skripten arbeitet, werden diese intern in ein Objekt geladen, um den Überblick zu behalten. Es gibt im Wesentlichen 3 Listen im Objekt:
Wenn Sie ein Skript zum ersten Mal registrieren, wird
wp_register_scripts()
es in die registrierte Liste aufgenommen. Wenn Siewp_enqueue_script()
das Skript ausführen, wird es in die Warteschlangenliste kopiert. Nachdem es auf die Seite gedruckt wurde, wird es der Fertigliste hinzugefügt.Anstatt Ihr Fußzeilenskript in eine Warteschlange zu stellen, um jQuery zu erfordern, können Sie dokumentieren, dass es jQuery verwenden muss, und einfach programmgesteuert überprüfen, ob jQuery geladen ist.
Hiermit wird
wp_script_is()
überprüft, wo das Skript aufgelistet ist.Möglicherweise können Sie denselben Code verwenden, um jQuery auch zum Laden in die Fußzeile zu zwingen, aber das habe ich nicht getestet ... Ihre Laufleistung kann daher variieren.
quelle
Seit WordPress 4.5 können Sie Inline-Skripte hinzufügen
wp_add_inline_script()
. Dieser Code hilft Ihnen dabei, der Fußzeile, für die jQuery erforderlich ist, ein JavaScript-Snippet hinzuzufügenwp_add_inline_script mit wordpress jquery
quelle
Verwenden Sie die
wp_footer
Aktion wie folgt:quelle
Ich weiß, dass OP eine Anforderung für jQuery festlegen möchte, und die Autoren von WordPress hätten zulassen sollen, dass Snippets neben Skriptdateien in die Warteschlange gestellt werden, aber sie haben dies nicht getan. Ich empfehle daher, nicht zu versuchen, dies zu erzwingen. Wenn Sie sich nicht wie ich mit der Warteschlange oder ihrer Reihenfolge herumschlagen möchten (weil ich andere Plugins verwende, die Skripte kombinieren und optimieren), ist die Antwort, die
wp_footer
Aktion wie folgt zu verwenden :quelle
Sie können die
wp_footer
Aktion dazu verwenden. Überprüfen Sie den Codex für wp_footer .quelle
in_footer
Argument dazu gelesenwp_enqueue_script
? Lesen Sie dies: codex.wordpress.org/Function_Reference/wp_enqueue_script . Hier erfahren Sie, wie Sie es mit derwp_footer
Aktion verwenden können.