Stellen Sie WordPress-Plug-in-Skripte unter allen anderen JS in die Warteschlange

Lesezeit: 3 Minuten

Ich entwickle eine einfache WordPress-App, aber ich habe ein Problem, da alle Plugin-Skripte vor denen gerendert werden, die in meiner eingereiht sind functions.php.

Hier ist ein Beispielausschnitt der functions.php:

function my_scripts() {
    wp_register_script('app-js', get_template_directory_uri() . '/javascripts/app.js', array('jquery'), null, true );
    wp_enqueue_script('app-js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts');

Wichtig ist, dass (nach Best Practice mein JS so eingestellt ist, dass es unten auf der Seite gerendert wird.

Ich habe auch einige Plugins, die auf dem Thema laufen. Das Problem ist, dass die Ausgabe so aussieht:

<!-- Note the plugin appears first -->
<script type="text/javascript" src="http://localhost/wordpress/wp-content/plugins/my-plugin/acl-plugin.js"></script>
<!-- And the main JS appears second -->
<script type="text/javascript" src="http://localhost/wordpress/wp-content/themes/my-theme/javascripts/app.js"></script>
</body>
</html>

Wie kann ich WordPress zwingen, das Haupt-JS anzuzeigen (von dem ich glaube, dass es gerendert wird von wp_head() ganz unten auf der Seite erscheinen?

  • Wo haben Sie über diese „Best Practice“ gelesen? Ich bin neugierig, weil ich gerade daran arbeite, es zu ändern.

    – vhs

    5. Mai 2017 um 10:24 Uhr

Benutzeravatar von Jonathan Marzullo
Jonathan Marzullo

Das WordPress wp_head() -Methode gibt nur Skripte oder Stile aus, die diesen letzten Parameter in WordPress haben wp_enqueue_script() einstellen FALSCH.. wenn es eingestellt ist Stimmt es wird in der Fußzeile über die gerendert wp_footer()

Sie können die Priorität ändern, wann sie aufgerufen und eingefügt wird, indem Sie die anpassen $Priorität Parameter in der add_action()

http://codex.wordpress.org/Function_Reference/add_action

$priority (int) (optional) Wird verwendet, um die Reihenfolge anzugeben, in der die einer bestimmten Aktion zugeordneten Funktionen ausgeführt werden. Niedrigere Zahlen entsprechen einer früheren Ausführung, und Funktionen mit derselben Priorität werden in der Reihenfolge ausgeführt, in der sie der Aktion hinzugefügt wurden. Standard: 10

add_action( $hook, $function_to_add, $priority, $accepted_args );

Sehen Sie sich auch die folgenden beiden WordPress-Methoden an:

wp_enqueue_script() :

https://developer.wordpress.org/reference/functions/wp_enqueue_script/

wp_enqueue_script( string $handle, string $src="", array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

wp_register_script() :

https://developer.wordpress.org/reference/functions/wp_register_script/

wp_register_script( string $handle, string $src, array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

Versuche dies..

Damit muss man vielleicht spielen $Priorität Parameter

function my_scripts() {
        wp_register_script('app-js', get_template_directory_uri() . '/javascripts/app.js', array('jquery'), null, true );
        wp_enqueue_script('app-js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts', 20, 1);

  • Das ist das Huhn! Danke Kumpel!

    – Sheixt

    11. November 2013 um 20:04 Uhr

  • Bearbeiten-Schaltfläche deaktiviert. Der Vollständigkeit halber wäre es schön, das anzugeben wp_enqueue_script() Standard in Ihrer Antwort.

    – vhs

    5. Mai 2017 um 10:26 Uhr


  • Wenn Sie sich den ersten Satz in meiner Antwort und meinen Codeausschnitt ansehen. Sie werden sehen, dass ich den letzten Parameter auf eingestellt habe truedas heißt, der Standardwert ist false. Aber wie Sie möchten, habe ich die WP-Methoden oben neben den Links zur WordPress Codex-API für hinzugefügt wp_enqueue_script() und wp_register_script() 🙂

    – Jonathan Marzullo

    5. Mai 2017 um 12:37 Uhr


1401930cookie-checkStellen Sie WordPress-Plug-in-Skripte unter allen anderen JS in die Warteschlange

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy