Ich versuche, meine untergeordneten Themen zu laden, style.css
nachdem das übergeordnete Thema style.css
bereits geladen wurde. Ich habe jedoch festgestellt, dass das style.css
nicht in die Warteschlange gestellt werden muss, da es implizit vom WordPress-Kern in die Warteschlange gestellt wird.
Also stelle ich es explizit so in die Warteschlange, wo es davon abhängt, ob es parent-style
bereits geladen wurde:
function enqueue_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri(). '/style.css', array('parent-style') );
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_styles', PHP_INT_MAX );
Das Problem dabei ist, dass es jetzt zweimal geladen wird . Einmal implizit und dann explizit. Wie kann ich das meines Kindes style.css
nach dem des Elternteils laden, ohne es zweimal zu laden?
So head
sieht das aus:
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php bloginfo('name'); ?> | <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
<?php if(isset($themeum['favicon'])){ ?>
<link rel="shortcut icon" href="<?php echo $themeum['favicon']; ?>" type="image/x-icon"/>
<?php }else{ ?>
<link rel="shortcut icon" href="<?php echo get_template_directory_uri().'/images/plus.png' ?>" type="image/x-icon"/>
<?php } ?>
<link rel="stylesheet" type="text/css" href="">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
<?php if(isset($themeum['before_head'])) echo $themeum['before_head'];?>
<?php wp_head(); ?>
</head>
wp-enqueue-style
shmuli
quelle
quelle
style.css
.Genesis
tut es)Antworten:
Wie @Andy Macaulay-Brook betonte, wird WordPress nicht geladen
child-theme's
style.css
. Ich denke, das übergeordnete Thema könnte es in die Warteschlange stellen.style.css
Stellen Sie das untergeordnete Thema zuerst in die Warteschlange und stellen Sie es dann in die WarteschlangeStellt das untergeordnete Thema in die Warteschlange
style.css
Sie können die Datei style.css des untergeordneten Themas mithilfe des Handles aus der Warteschlange entfernen. Sie können das Handle entweder anhand des übergeordneten Themas (vorausgesetzt, es wird daraus geladen) oder anhand des Links der Seitenquelle ermitteln.
Zum Beispiel:
Der Link von der Site mit
Twenty Fifteen theme
sieht so ausFür welches Handle ist
twentyfifteen-style
welches die ID des Link-Tags, aber ohne-css
.Wir können dies also durch
wp_dequeue_style
Einbinden in die Warteschlange entfernenwp_enqueue_scripts
En-Warteschlange Eltern style.css vor dem Kind Thema style.css (abhängig von der Liste der Abhängigkeiten)
Indem Sie die Priorität des
wp_enqueue_scripts
Hooks unter dem Standardwert (10) ändern und das übergeordnete Thema ladenstyle.css
. (Ich bin mir nicht sicher, ob das überprüft werden muss)quelle
functions.wp-styles.php
und unterrichteteclass-wp-dependencies
.