wake-up-neo.com

Verwenden Sie mehrere Versionen von jQuery, während Sie es wie folgt aufrufen WP Likes

Ich habe zwei JS-Plugins in meinem Plugin. Einer verwendet jQuery 1.7.1 und der andere 1.9.1.

Ich muss jede von ihnen unterschiedliche Version benutzen lassen. So sieht es aktuell aus:

Plugin PHP-Datei:

wp_register_script('jq-1.9.1-js', 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');
wp_enqueue_script('jq-1.9.1-js');
wp_register_script('jq-1.7.1-js', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js');
wp_enqueue_script('jq-1.7.1-js');

Plugin JS-Datei:

    var $j = jQuery.noConflict();

    $j(document).ready(function() {
    // plugin 1
    $j('.someClass').plugin1({
        // options
    });
    // plugin 2
    $j('.someClass').plugin2({
        // options
    });
}

Ich habe viel in Google gesucht und Lösungen für mehrere Versionen gefunden, aber sie haben nicht die richtige Art und Weise berücksichtigt, Skripte in WP (die Verwendung von register und enqueue) aufzunehmen.

Wie verwende ich zwei Versionen von jQuery für zwei JS-Plugins, während ich weiterhin Skripte auf die WP Weise aufrufe?

Vielen Dank

2
corre

Ich fand, dass es für mich besser war, die neueste jQuery-Version (die WordPress standardmäßig lädt) zu verwenden und das Inkompatibilitätsproblem durch Ändern der mit der neuesten jQuery-Version inkompatiblen JS-Plugin-Dateien zu beheben.

Hinweis: Der Grund, warum ich mich für diese Lösung entschieden habe, ist, dass in den meisten Fällen die Inkompatibilität von JS-Plugins mit neueren jQuery-Versionen auf die Verwendung einer veralteten Methode oder Funktion im Code zurückzuführen ist und der Aufruf normalerweise durch einen Aufruf einer vorhandenen Funktion/Methode ersetzt wird löst das Problem und befreit Sie vom Einfügen redundanter jQuery-Skripte.

Wenn das Plugin in Zukunft aktualisiert wird, sollten Sie kein Problem damit haben, das aktuell verwendete Plugin zu aktualisieren, da die neuere Version wahrscheinlich die neueste jQuery-Version unterstützen würde.

0
corre