Ich habe dies in meiner functions.php
-Datei und kann jQuery nicht in die Fußzeile laden. Die Datei includes
wird jedoch in die Fußzeile fine geladen. Was muss ich sonst noch tun?
function starter_scripts() {
wp_enqueue_style( 'starter-style', get_stylesheet_uri() );
wp_enqueue_script( 'jquery', '', '', '', true );
wp_enqueue_script( 'includes', get_template_directory_uri() . '/js/min/includes.min.js', '', '', true );
}
add_action( 'wp_enqueue_scripts', 'starter_scripts' );
Dazu müssen Sie zuerst Ihr jQuery-Skript abmelden und sich dann erneut registrieren. Wenn Sie jQuery verwenden, das mit WordPress geliefert wird, ist das Folgende die Funktion, nach der Sie suchen.
function starter_scripts() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', includes_url( '/js/jquery/jquery.js' ), false, NULL, true );
wp_enqueue_script( 'jquery' );
wp_enqueue_style( 'starter-style', get_stylesheet_uri() );
wp_enqueue_script( 'includes', get_template_directory_uri() . '/js/min/includes.min.js', '', '', true );
}
add_action( 'wp_enqueue_scripts', 'starter_scripts' );
Wenn Sie eine von Google CDN gehostete Version von jQuery verwenden, teilen Sie mir mit, dass ich diesen Code für die Google CDN-URL ändern werde.
Eine bessere Lösung:
add_action( 'wp_default_scripts', 'move_jquery_into_footer' );
function move_jquery_into_footer( $wp_scripts ) {
if( is_admin() ) {
return;
}
$wp_scripts->add_data( 'jquery', 'group', 1 );
$wp_scripts->add_data( 'jquery-core', 'group', 1 );
$wp_scripts->add_data( 'jquery-migrate', 'group', 1 );
}
Warum ist es besser als die akzeptierte Antwort IMO
$footer = true
registriert.Über dies nicht an den Administrator zu tun
Wenn Plugins Inline-JQuery zu wp_head hinzufügen, schlägt dies fehl, wenn JQuery zu diesem Zeitpunkt nicht geladen wird. Ich schlage daher vor, dies zu vermeiden, bis Millionen Ihre Website bearbeiten und Sie versuchen, die Leistung Ihres Administrators zu optimieren. Dies gilt auch für das Frontend. Achten Sie daher auf schlecht codierte Designs oder Plugins, die mithilfe von Inline-jQuery-Code eine Abfrage im Kopf voraussetzen.
Darüber nicht funktioniert
Sie müssen sich darüber im Klaren sein, dass, wenn ein anderes Skript in den Head geladen wird, dessen Abhängigkeiten jQuery enthalten, jQuery auch direkt vor sich selbst in den Head geladen wird. Und das ist gut und zu erwarten, der Grund, warum das System wp_enqueue existiert.
add_action("wp_enqueue_scripts", "myscripts");
function myscripts() {
wp_enqueue_script( 'jquery' , '', array(), true); //true for footer
wp_enqueue_script( 'someScript-js', 'https://domain.com/someScript.js' , '', '', true );
}