Einige Fragen dazu, wie richtig CSS-Datei in einem WordPress-Theme hinzufügen?

Ich habe die folgende Situation, die ein CSS lädt.

Ich habe ein WordPress-Theme, das eine style.css- Einstellungsdatei mit diesem Code in meine functions.php- Datei lädt :

/* Function automatically executed by the hook: * 1) (OPTIONAL): Register a script (without load it): in this case register the CSS settings * 2) Load the CSS settings */ function wpb_adding_styles() { wp_register_style('my_stylesheet', get_template_directory_uri() . '/style.css'); wp_enqueue_style('my_stylesheet'); } /* Hooks a function on to a specific action (an action is a PHP function that is executed at specific * points throughout the WordPress Core) * @param 'wp_enqueue_scripts': The name of the action to which 'wpb_adding_styles' is hooked (wp_enqueue_scripts * is the proper hook to use when enqueuing items that are meant to appear on the front end) */ add_action('wp_enqueue_scripts', 'wpb_adding_styles'); 

In dieser style.css- Datei definiere ich einige grundlegende CSS-Einstellungen, zum Beispiel die body-Einstellungen:

 body{ padding:0px; margin:0px; font-family:Arial, Helvetica, sans-serif; font-size:12px; } 

Dann habe ich eine neue style2.css- Einstellungsdatei erstellt, in der ich einige der Eigenschaften überschreiben würde, die in meiner allgemeinen style.css definiert sind. Dem vorherigen Beispiel folgend würde ich die Eigenschaft hinzufügen, dass der Hintergrund des Körpers schwarz sein muss es:

 body { ........ ........ ........ background: #000; } 

Ok, also denke ich, dass ich die style.css- Datei laden muss , indem ich die style2.css- Datei als ihre Abhängigkeiten benutze. Ich lese die Dokumentation, die mir scheint, dass ich sowas machen kann (oder vielleicht das Gegenteil?):

 function load_theme_styles() { wp_enqueue_style('main-css', get_template_directory_uri() . '/style.css', array(), '1.0', 'all'); } add_action('wp_enqueue_scripts', 'load_theme_styles'); 

wo Array () sollte nicht leer sein, aber es muss die style2.css enthalten

Ist es eine gute Lösung, um eine allgemeine CSS-Datei zu trennen, die nicht bearbeitet werden muss (zum Beispiel eine CSS-Datei eines CSS-Frameworks wie BootStrap mit seinen ursprünglichen Einstellungen) und die eine benutzerdefinierte CSS-Datei hat, in der ich die Einstellungen überschreibe Ich will es verändern?

Wenn das eine Goog-Lösung ist, kannst du mir sagen, wie ich das vorherige Array meiner style2.css- Datei übergebe?

UPDATE 1: Ich habe meine wpb_adding_styles () auf diese Weise geändert : mein main-css hängt von style2.css ab .

 function wpb_adding_styles() { wp_enqueue_style('style2', get_template_directory_uri() . '/style2.css', array(), '1.0', 'all'); wp_enqueue_style('main-css', get_template_directory_uri() . '/style.css', array('style2'), '1.0', 'all'); } 

Es scheint gut zu funktionieren, aber ich bin mir nicht sicher, ob es die richtige Lösung ist, denn wenn ich die Abhängigkeit lösche, funktioniert es wieder gut

 wp_enqueue_style('main-css', get_template_directory_uri() . '/style.css', array(), '1.0', 'all'); 

Tnx

Andrea

Solutions Collecting From Web of "Einige Fragen dazu, wie richtig CSS-Datei in einem WordPress-Theme hinzufügen?"

Es scheint, als würden Sie Abhängigkeiten in umgekehrter Richtung verwenden.

Im WordPress Codex versuchen sie zu erklären, wie es verwendet werden soll.

$ deps (Array) (optional)

Array von Handles aller Stylesheets, von denen dieses Stylesheet abhängt. Abhängige Stylesheets werden vor diesem Stylesheet geladen .

Da Ihre style2.css verwendet wird, um Änderungen an style.css , bedeutet style2.css , dass style2.css von style.css abhängig style.css .

So sollte Ihr Code aussehen:

 function wpb_adding_styles() { wp_enqueue_style('main-css', get_template_directory_uri() . '/style.css', array(), '1.0', 'all'); wp_enqueue_style('style2', get_template_directory_uri() . '/style2.css', array('main-css'), '1.0', 'all'); } 

Hoffe das hilft!

Das Array sollte den Handle für style2.css enthalten. Wenn Sie den ersten Stil in die Warteschlange stellen, verwenden Sie main-css, aber Sie mussten diesen Punkt zuvor definieren.

Arbeiten mit inheritance und Überschreiben in CSS ist ein guter Workflow ja. Vor allem mit Frameworks wie Boostrap. Das ist der springende Punkt. Sie haben eine wunderbare Basis, die Sie leicht erweitern oder modifizieren können, wo sie benötigt wird.

Es wird umso besser, wenn Sie ein Tool wie SASS verwenden, da die CSS-Datei, die Sie enthalten, jetzt in einer einzigen komprimierten Datei gestaut ist. http://sass-lang.com/

Prost