it-swarm.com.de

Verschieben von jQuery in die Fußzeile, ohne die Registrierung in WordPress aufzuheben

Hallo, ich habe nach einer Möglichkeit gesucht, WordPress-Standard-jQuery in die Fußzeile zu verschieben, und habe die folgende Antwort gefunden: https://wordpress.stackexchange.com/a/225936/50584

Also habe ich diesen Ansatz in der functions.php-Datei meines Kinderthemas ausprobiert:

add_action( 'wp_enqueue_scripts', function() {
    // Move jQuery to the footer
    wp_scripts()->add_data( 'jquery', 'group', 1 );
    wp_scripts()->add_data( 'jquery-core', 'group', 1 );
    wp_scripts()->add_data( 'jquery-migrate', 'group', 1 );
});

Aber es drückt keine Frage in die Fußzeile. Irgendeine Idee, warum das passiert? Ich möchte den de-register & re-register-Weg meiden, dies zu tun.

Jede Hilfe wird sehr geschätzt.


Wichtiges Update: Seit WP v3.9 gibt es keine Möglichkeit, JQuery-Skripte in Ihre Fußzeile einzufügen, anstatt die Option de-register & re-register zu verwenden. Es ist einfach nicht möglich, wie der Autor weiter unten ausgeführt hat.

3
iSaumya

Sie sollten den Parameter $scripts des Hook wp_default_scripts verwenden. In diesem Hook wurden alle Standard-Skripte, auch jQuery, in die Warteschlange gestellt und Sie können seine Daten ändern, wie die Gruppe zum Laden in der Fußzeile.

add_action( 'wp_default_scripts', '_print_jquery_in_footer' );
function _print_jquery_in_footer( $scripts ) {

    if ( ! is_admin() )
        $scripts->add_data( 'jquery', 'group', 1 );
}

Auch im neueren Codestil über anonyme Funktion, wie Ihr Fragenbeispiel; möglich seit php 5.3:

add_action(
    'wp_default_scripts',
    function( $scripts ) {
        if ( ! is_admin() )
            $scripts->add_data( 'jquery', 'group', 1 );
    }
);

Bearbeiten : Dies funktioniert nur mit WordPress-Versionen unter 3.9!

2
bueltge