Ist es möglich, die Attribute eines registrierten Stils oder Skripts zu ändern, bevor es ausgetriggers wird?

Ich möchte die Eigenschaften eines registrierten Stils (oder eines Skripts – das trifft auch zu) ändern, bevor es geladen wurde.

Im Moment versuche ich, einen registrierten Stil zu ändern, kurz bevor er in die Warteschlange eingereiht wird, also kann ich ihn auf eine andere Datei verweisen (zB die src Eigenschaft ändern, vielleicht andere). Suchen Sie nach Ideen, wo Sie das $wp_styles Objekt $wp_styles und ändern $wp_styles , damit die Enqueue wie üblich ausgetriggers wird, aber mit den Änderungen an den Eigenschaften des registrierten Styles.

Ich mache ein Admin-Farbschema und dachte, es wäre toll, wenn ich die bestehende Enqueue umschreiben / optimieren könnte, anstatt eine zusätzliche Anfrage auf jeder Seite hinzuzufügen (zB colors-fresh.css + mein Stylesheet – hätte ich lieber eine Anfrage, warum das Original-Stylesheet nur dazu benutzt wird, jeden Style in einem anderen neu zu definieren) …

Den Style abmelden und meinen eigenen registrieren? – Ich müsste dann beide Farbschemas (klassisch / frisch) abmelden, wenn ich das Styles-Objekt vor dem Enqueue nur noch anklammern und zwicken möchte.

Ich bin mir ziemlich sicher, dass es möglich ist, aber mir fehlt einfach die Gehirnkraft, um meinen Kopf um ihn zu wickeln .. (wurde zu lange verdrahtet)

Irgendwelche Vorschläge willkommen ….;)

Solutions Collecting From Web of "Ist es möglich, die Attribute eines registrierten Stils oder Skripts zu ändern, bevor es ausgetriggers wird?"

Ändern Sie den Pfad eines registrierten Stils

Ich wollte den Pfad zu einem der WordPress-Admin-Stylesheets anpassen, damit ich Anfragen ablehnen konnte und weil es wenig Sinn macht, zwei Stylesheets einzubinden, wenn das von mir aufgerufene Stylesheet das von WordPress eingereihte Stylesheet neu definiert.

Die Idee ist grundsätzlich, den bestehenden Stil auf ein anderes Stylesheet zu verweisen, zwei Hooks sind angebracht

  • style_loader_src
  • style_loader_tag .

Ersteres stellt nur die URL des Stylesheets (oder des Pfades) und das Handle (das ist der Name, mit dem der Stil registriert wird) zur Verfügung, letzteres liefert die komplette HTML-Zeichenkette (und Handle) für das Stylesheet, das enthalten ist.

Ich entschied mich dafür, style_loader_src zu verwenden, um den Stylesheet-Pfad der colors (src) zu wechseln, da dies buchstäblich alles ist, was ich brauche, um den Pfad anzupassen und den aktuellen Griff zu kennen, der perfekt zu meinen Bedürfnissen passt.

Beispielfilter, der den Pfad zum colors-Stylesheet ändert.

Überprüft, ob das Handle das colors-Stylesheet ist, und aktualisiert den Pfad, wenn dies der Fall ist.

 function switch_stylesheet_src( $src, $handle ) { if( 'colors' == $handle ) $src = plugins_url( 'my-colors.css', __FILE__ ); return $src; } add_filter( 'style_loader_src', 'switch_stylesheet_src', 10, 2 ); 

Der obige Filter wird im Grunde die vorhandenen colors Stylesheet-Ausgabe, z.

  

Und wandle es in ..

  

Ich finde diese Methode vorzuziehen, ein zusätzliches Stylesheet einzubinden, es sind weniger Requests, und es sind weit weniger CSS-Overrides in jedem Styling erforderlich, da Sie diese Anforderung im Prinzip übernehmen, um stattdessen Ihr eigenes Stylesheet zu laden.

Sie können den Filter wp_admin_css_uri in der gleichnamigen function verwenden, die das uri der Admin-CSS-Dateien zurückgibt. Z.B:

 function custom_modify_styles( $_file, $file ) { if( 'style' == $file ) // $file = css filename without extension $_file = 'my/new/path/to/style.css'; return $_file; } add_action( 'wp_admin_css_uri', 'custom_modify_styles', 10, 2 );