Wie überschreibe ich das CSS eines Plugins sauber mit einem untergeordneten Thema?

8

Ich habe es mir zur Aufgabe gemacht, die WordPress-Konventionen einzuhalten, damit ich ein sauberes, sexy Kinderthema haben kann. Ich bin mir jedoch nicht sicher, wie ich bei einem bestimmten Thema vorgehen soll.

Ich möchte das CSS für einige Plugins in meiner WordPress-Website überschreiben, und dieser wundervolle Beitrag war ein großer Schritt in die richtige Richtung. Meine einzige Sorge ist, dass ich alles tun möchte, um zu vermeiden , dass die header.phpDatei in meinem übergeordneten Thema überschrieben wird, um dies zu tun.

Gibt es einen anderen wunderbaren Weg, dies zu tun? Danke für Ihre Hilfe!

Update :

Wie aus dem Kommentar eines anderen Benutzers hervorgeht, hängt dies tatsächlich davon ab, wie das Plugin seine Stile implementiert. Angenommen, die Plugins bieten eine Möglichkeit, Stile im style.cssBlatt des untergeordneten Themas oder in meinem Fall in einem separaten stylesOrdner, der mit diesem style.cssBlatt verknüpft ist, zu implementieren .

Ich weiß auch, dass ich !importantüberall verwenden kann , aber das ist im Allgemeinen verpönt.

Jordan Thornquest
quelle
Es hängt ganz davon ab, wie die betreffenden Plugins ihre Stile hinzufügen.
Milo
Ich habe meinen Beitrag aktualisiert, um Ihrem Kommentar Rechnung zu tragen. Vielen Dank!
Jordan Thornquest
Nah gewählt als nicht konstruktiv . Bitte bearbeiten Sie Ihre Frage, um auf bestimmte Plugins zu verweisen , und geben Sie den spezifischen CSS-Implementierungscode für diese Plugins an.
Chip Bennett
Ich würde es gerne tun, aber leider ist dies eine ziemlich allgemeine Frage . Mein Ziel ist es , alle Stylesheets , die dem Styling eines Plugins benutzerdefinierte Änderungen hinzufügen, in einem einzigen Ordner in meinem untergeordneten Thema zusammenzufassen. Dies hält einen wirklich sauberen Code und ist sehr effizient. Ich werde jedoch spezifischen Code hinzufügen!
Jordan Thornquest
Ich habe gerade dieses einfache benutzerdefinierte CSS- Plugin gefunden. Es behandelt alles, was für das Einreihen von abhängigem CSS besprochen wurde. Einfach zu installieren und zu verwenden.
user41251

Antworten:

15

Wenn die Plugins ihre Stile korrekt über hinzufügen wp_enqueue_style, müssen Sie sie einfach aus der Warteschlange entfernen:

function wpa_dequeue_style() {
    wp_dequeue_style( 'plugin-style-handle' );
}
add_action( 'wp_enqueue_scripts', 'wpa_dequeue_style', 100 );

Ob dies funktioniert oder nicht, hängt davon ab, wie und wo die Plugins ihre Stile hinzufügen. Daher gibt es keine absolute Antwort, ohne die spezifischen Methoden zu kennen, die die betreffenden Plugins verwenden.

BEARBEITEN - Eine weitere Option, bei der die Stile nicht vollständig entfernt werden müssen, besteht darin, Ihre eigenen Stile mit den Plugin-Stilen als Abhängigkeit in die Warteschlange zu stellen:

wp_enqueue_style(
    'my-styles',
    get_template_directory_uri() . '/mystyles.css',
    array('plugin-style-handle')
);
Milo
quelle
Dies ist sicherlich ein Schritt in die richtige Richtung. Meine Überschreibungen sind jedoch Bearbeitungen, sodass der Kompromiss zwischen dem Einfügen und Bearbeiten des gesamten Stylesheets etwas kontraproduktiv ist. Wie Sie sagten, hängt es auch ganz davon ab, wie das CSS hinzugefügt wird.
Jordan Thornquest
3
siehe oben bearbeiten.
Milo
Ich werde das bearbeiten versuchen. Das sieht nach einer großartigen Idee aus!
Jordan Thornquest
1
Wow, ich kann nicht genug stimmen. Es funktionierte!
Jordan Thornquest
Es ist eine alte Antwort, hat mir aber 2020 geholfen. Danke!
Kinburn101