Child-Theme-Stylesheet überschreibt nicht immer “Index”

Ich verwende ein untergeordnetes Thema und verwende eine “styles.css” -Datei, um Dinge vom übergeordneten Thema zu überschreiben. Meine Stile (es gibt viele Stylesheets) sind in der folgenden Reihenfolge eingereiht:

function my_theme_enqueue_styles() { $parent_style = 'parent-style'; wp_enqueue_style( $parent_style, get_stylesheet_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version') ); wp_enqueue_style('shopkeeper-top-bar', get_stylesheet_directory_uri() . '/css/header-topbar.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-headers', get_stylesheet_directory_uri() . '/css/headers.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-responsive', get_stylesheet_directory_uri() . '/css/responsive.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-custom', get_stylesheet_directory_uri() . '/css/custom_artiq.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-navigations', get_stylesheet_directory_uri() . '/css/navigations.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-animate', get_stylesheet_directory_uri() . '/css/animate.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-app', get_stylesheet_directory_uri() . '/css/app.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-defaults', get_stylesheet_directory_uri() . '/css/defaults.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-easyzoom', get_stylesheet_directory_uri() . '/css/easyzoom.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-header-centered-2menus', get_stylesheet_directory_uri() . '/css/header-centered-2menus.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-idangerous-swiper', get_stylesheet_directory_uri() . '/css/idangerous.swiper.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-nanoscroller', get_stylesheet_directory_uri() . '/css/nanoscroller.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-offcanvas', get_stylesheet_directory_uri() . '/css/offcanvas.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-owl-carousel', get_stylesheet_directory_uri() . '/css/owl.carousel.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-owl-theme', get_stylesheet_directory_uri() . '/css/owl.theme.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-responsive', get_stylesheet_directory_uri() . '/css/responsive.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-select2', get_stylesheet_directory_uri() . '/css/select2.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-woocommerce-overwrite', get_stylesheet_directory_uri() . '/css/woocommerce-overwrite.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-fontawesome', get_stylesheet_directory_uri() . '/inc/fonts/font-awesome/css/font-awesome.min.css', array(), '1.0', 'all' ); wp_enqueue_style('shopkeeper-styles', get_stylesheet_directory_uri() . '/css/styles.css', array(), '1.0', 'all' ); } add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); 

Aber wenn ich etwas in “styles.css” im untergeordneten Thema ändere und dann den Inspektor in Chrome zum Beispiel verwende, sehe ich, dass die Stile, die von “index” (root / wordpress /: 385) kommen, vorherrschen. Ich muss wichtig im Stylesheet verwenden, um Änderungen zu sehen. Wie kann ich das lösen und was genau ist dieser Index?

Solutions Collecting From Web of "Child-Theme-Stylesheet überschreibt nicht immer “Index”"

 wp_enqueue_style( $parent_style, get_stylesheet_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version') ); 

Schauen Sie genauer hin, insbesondere auf die URLs, die Sie an den Enqueue-Stil übergeben haben:

  • get_stylesheet_directory_uri() . '/style.css' : get_stylesheet_directory_uri() . '/style.css' get_stylesheet_directory_uri() . '/style.css'
  • Kind: get_stylesheet_directory_uri() . '/style.css' get_stylesheet_directory_uri() . '/style.css'

Sie sind identisch, sie sind die gleiche Datei, das ist das Problem. Das Stylesheet für untergeordnete Designs überschreibt das übergeordnete Element nicht, da das übergeordnete Element niemals geladen wird. Der Code teilt WP niemals mit, dass er geladen werden soll.

Einige Notizen:

  • Verwenden Sie get_template_directory_uri , um auf das übergeordnete Thema und get_stylesheet_directory_uri für das get_stylesheet_directory_uri Thema zu verweisen
  • Einrückung, Einrückung, Einrückung, Sie haben Ihre Argumente nicht eingerückt, das ist wichtig
  • Sie haben das übergeordnete Stylesheet als eine Abhängigkeit des untergeordneten Elements deklariert, Sie haben es jedoch bereits in die Warteschlange eingereiht, das übergeordnete Element registriert und das untergeordnete Element in die Warteschlange eingereiht, und das hat die gleiche Auswirkung
  • Sie verwenden die Designversion als Version für das Stylesheet, aber es wäre effizienter, die Zeit für die Dateiänderung zu verwenden, da sonst der Browsercache während der Entwicklung gelöscht werden muss
  • get_stylesheet_uri() gibt den vollständigen Pfad zur style.css so dass die style.css .'/style.css' benötigt wird
  • Die Variable $parent_style ist nicht $parent_style