it-swarm.com.de

Untergeordnetes Design überschreibt nicht die übergeordneten Designs style.css

Ich habe gerade ein untergeordnetes Thema erstellt, aber jede Änderung, die ich an style.css vornehme, überschreibt nicht die übergeordnete style.css - andere Dateien funktionieren. Ich habe es einfach so gemacht:

  1. Erstellen eines neuen Childtheme-Ordners im Themenverzeichnis
  2. Kopieren Sie die ursprüngliche Datei style.css in diese Datei.
  3. In den Header "Template: orion" einfügen
  4. Ausgewählt und aktiviert mein Kinderthema in der Wordpress Theme Option.

Und jetzt, wenn ich Sachen in der child style.css ändere ... sieht die Seite nach der Änderung immer noch gleich aus. Warum?

4
Jan

Es ist zu beachten, dass das untergeordnete Stylesheet after die Stile des übergeordneten Themas lädt, sodass dies kein Problem darstellen sollte. Ich denke, was hier passiert, ist, dass Sie versuchen, Stile zu ändern, die nicht im übergeordneten Stylesheet, sondern in anderen benutzerdefinierten Stylesheets enthalten sind. In diesem Fall funktionieren Ihre Änderungen nicht, da das Stylesheet Ihres untergeordneten Themas höchstwahrscheinlich vor den benutzerdefinierten Stylesheets im übergeordneten Thema geladen wird.

Es sollte auch beachtet werden, dass @import nicht zum Importieren des übergeordneten Stylesheets verwendet werden sollte. Der richtige Weg ist, es mit wp_enqueue_style() hooked to wp_enqueue_scripts in die Warteschlange zu stellen.

Hier erfahren Sie, wie Sie das übergeordnete Stylesheet ordnungsgemäß in die Warteschlange einreihen und dem Childtheme hinzufügen.

add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' );
function enqueue_parent_theme_style() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

Aus dem Codex ist dies die richtige Art und Weise, wie Ihr Stylesheet aussehen sollte

/*
 Theme Name:   Twenty Fourteen Child
 Theme URI:    http://example.com/twenty-fourteen-child/
 Description:  Twenty Fourteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     twentyfourteen
 Version:      1.0.0
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fourteen-child
*/


/* =Theme customization starts here
-------------------------------------------------------------- */

NOTE

Ich habe den Codex mit diesen Informationen in diesem Beitrag aktualisiert

EDIT

Aus einem Kommentar unten

Wenn das übergeordnete Thema nicht wp_enqueue_style () verwendet, wie kann man dann das style.css des übergeordneten Themas einreihen, ohne sich mit den Vorlagen des übergeordneten Themas herumzuschlagen? Dieser Punkt ist im aktualisierten Codex nicht klar. Kannst du das bitte mit einem Beispiel verdeutlichen.

Ich möchte zuerst damit beginnen, wenn Sie ein Themenautor sind,NIEfügen Sie Stylesheets oder Skripte durch <link> Tags in der Kopfzeile Ihres Themas hinzu. Dies ist die falsche Vorgehensweise. Ordnungsgemäßes Einreihen und Registrieren dieser Stile und Skripte über den Hook wp_enqueue_scripts, wie im Codex beschrieben

Um ehrlich zu sein, habe ich nie bemerkt, dass es noch einige Themenautoren gibt, die dies tun. Ich denke, der wahrscheinlichste Weg, um dieses Problem zu lösen, besteht darin, die übergeordnete Datei header.php in Ihr untergeordnetes Design zu kopieren und die Stile und Skripte manuell aus dem Header zu entfernen (zu löschen).

Anschließend können Sie sie wie im obigen Beispiel mithilfe von wp_enqueue_scripts in die Warteschlange stellen und registrieren. Denken Sie daran, verwenden Sie get_templatedirectory_uri () `, um Skripte und Stile aus dem übergeordneten Thema in die Warteschlange zu stellen und zu registrieren, und denken Sie daran, in welcher Reihenfolge Sie Stile und Skripte laden. Wenn ein Skript/Stil von einem anderen abhängig ist, laden Sie es nach diesem bestimmten Skript/Stil

12
Pieter Goosen

Ich habe diesen Thread beim Lesen des Kapitels über das untergeordnete Thema in WordPress Codex gefunden.

Ich habe ein untergeordnetes Thema basierend auf Simone (das wiederum auf _s Underscores basiert) erstellt und eine Datei functions.php mit dem empfohlenen Code erstellt:

<?php

add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}

Die Verwendung dieser Methode verursachte jedoch ein Problem in meinem untergeordneten Design. Ich habe das Problem in GitHub gemeldet: link . Die Lösung bestand darin, die Konstante PHP_INIT_MAX aus dem Teil add_action() zu entfernen.

Ich frage mich, ob dies ein Problem mit Simone ist oder ob dies auch andere Themen betrifft (in diesem Fall könnte es sich möglicherweise um ein Problem in der Funktion handeln) ...

Vielen Dank!

0
jorgeleandrobr

Ich hatte das gleiche Problem. Ich habe es behoben, indem ich den untergeordneten Themenordner und die Dateien in den Berechtigungen auf 775 geändert habe. Es ist möglicherweise nicht der sicherste Weg, aber es hat funktioniert. Lass mich wissen, ob das bei dir funktioniert :)

0
Asaf Lopez

Stellen Sie sicher, dass Ihr übergeordnetes Design in der Datei functions.php nicht wp_enqueue_style () verwendet.

In diesem Fall können Sie das untergeordnete Stylesheet auch aus der Datei functions.php in die Warteschlange stellen

add_action( 'wp_enqueue_scripts', 'load_my_child_styles', 20 );
function load_my_child_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri().'/style.css', array('twentyfourteen-style'), '1.0.0' );
}

Hier ist ein Beispiel, wie die Kopfzeile in Ihrer style.css-Datei für untergeordnete Themen aussehen sollte

/*
 Theme Name:   Twenty Fourteen Child
 Theme URI:    http://example.com/twenty-fourteen-child/
 Description:  Twenty Fourteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     twentyfourteen
 Version:      1.0.0
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fourteen-child
*/

http://codex.wordpress.org/Child_Themes

0
Brad Dalton