Ich habe ein untergeordnetes Thema erstellt und das Hauptthema style.css funktioniert einwandfrei. Das übergeordnete Design verfügt jedoch über ein anderes Stylesheet, das ich importieren und für das untergeordnete Design erstellen und stattdessen verwenden möchte.
Übergeordnete Themenstruktur - ./woocommerce/woo.css
Untergeordnete Themenstruktur - ./woocommerce/woo.css (manuell erstellt)
Nun habe ich beide Stylesheets in der function.php des untergeordneten Themas wie folgt in die Warteschlange gestellt.
function fruitful_load_parent_stylesheets() {
wp_enqueue_style( 'layout', get_template_directory_uri() . '/woocommerce/woo.css' );
}
add_action( 'wp_enqueue_scripts', 'fruitful_load_parent_stylesheets' );
function fruitful_load_child_stylesheets(){
wp_enqueue_style( 'woo', get_stylesheet_directory_uri() . '/woocommerce/woo.css');
}
add_action('wp_enqueue_scripts', 'fruitful_load_child_stylesheets');
Nun, wenn ich dem woo.css des Kinderthemas einen Stil hinzufüge, funktioniert das erst, wenn ich! Important it.Ich möchte es einfach nicht bei jedem Stil machen, den ich hinzufüge.
ist
Das stylesheet
Ihres Kinderthemas wird normalerweise automatisch geladen. Wenn dies nicht der Fall ist, müssen Sie es auch enqueue
. Durch Festlegen von "Parent-Style" als Abhängigkeit wird sichergestellt, dass das untergeordnete Design stylesheet
danach geladen wird.
/**
* Enqueue theme styles (parent first, child second)
*
*/
function wpse218610_theme_styles() {
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/woocommerce/woo.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/woocommerce/woo.css', array( $parent_style ) );
}
add_action( 'wp_enqueue_scripts', 'wpse218610_theme_styles' );
Hinweis: Weitere Informationen finden Sie im Theme Developer Handbook .
Vielleicht können Sie versuchen, jeder add_action einen Prioritätswert hinzuzufügen, um sicherzustellen, dass eine vor der anderen ausgeführt wird.
add_action( 'wp_enqueue_scripts', 'fruitful_load_parent_stylesheets', 10 );
add_action('wp_enqueue_scripts', 'fruitful_load_child_stylesheets', 20 );
Ich muss das Kinderthema später wie unten laden. Ich musste den Elternstil aus der Warteschlange entfernen und ihn abmelden, dann den Elternstil und den Kindstil aus der Warteschlange entfernen. Hoffe das hilft
Übergeordneter functions.php
hat
add_action('wp_enqueue_scripts', 'load_parent_style', 10);
function load_parent_style() {
wp_enqueue_style('parent-theme-style'); // parent theme code
}
Kind functions.php
hat
add_action('wp_enqueue_scripts', 'load_child_style', 20);
function load_child_style() {
//register & enqueue parent with new name
wp_register_style('parent-style', $url, array($deps));
wp_enqueue_style('parent-style');
// dequeue & deregister parent's theme handle
wp_dequeue_style('parent-theme-style'); // from parent theme
wp_deregister_style('parent-theme-style');
// register & enqueue child style
wp_register_style('child-style', get_stylesheet_uri(), array('parent-style'));
wp_enqueue_style('child-style');
}