Ich lade Skripte über wp_enqueue_scripts in mein untergeordnetes Thema.
Das einzige Problem ist, dass mein style.css-Skript VOR Plugin-Skripten geladen wird, ich aber das CSS in den Plugins mit meinem style.css überschreiben muss, dh es muss NACH Plugin-Skripten geladen werden.
Ich möchte auch nicht alle meine CSS-Stile mit "! Important" versehen, da dies mühsam ist und einige meiner Stile beschädigen kann.
Ich habe versucht, eine Priorität hinzuzufügen, aber die Ladereihenfolge wurde dadurch überhaupt nicht beeinflusst.
add_action('wp_enqueue_scripts', 'scripts', 9999);
Ich möchte einfach wp_enqueue_scripts ganz am Ende des Headers, kurz vor </ head>. Wie geht das? Vielen Dank :-)
UPDATE:
Ja, ich habe es herausgefunden!
Einfach den Filter registrieren mit:
add_action('wp_print_styles', 'scripts');
wp_print_styles wird mit einer Priorität von 8 geladen und sie werden trotzdem in den Header eingefügt, da es ein Teil von wp_head ist.
Ich habe das herausgefunden, indem ich in wp-includes/default-filters.php gesucht habe, also danke für den Tipp! :-)
wp_enqueue_scripts
wird standardmäßig mit der Priorität 1
zu wp_head
hinzugefügt. Siehe wp-includes/default-filters.php
für Details.
Sie können versuchen, die Priorität zu ändern:
remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_head', 'wp_enqueue_scripts', 9999 );
Aber ich empfehle es nicht. Es gibt wahrscheinlich einen guten Grund für den Standardwert. Einige Skripte funktionieren möglicherweise nicht mehr, wenn Sie dies ändern.
Ich denke, die benutzerfreundlichere Art, dies zu tun, ist die Verwendung des wp_enqueue_styles()
's $ deps-Parameters. Unter der Annahme, dass die Plug-in-Stile über wp_enqueue_styles () in die Warteschlange gestellt werden (was zugegebenermaßen nur wenige sind), listen Sie ein Array der Stylesheet-Handles auf, von denen Ihre Stile abhängen, und laden sie anschließend.