Perché il CSS del mio tema child viene caricato due volte?
Ho creato un tema child seguendo la documentazione WordPress e ho aggiunto la funzione richiesta
<?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') );
}
In qualche modo mi ritrovo con 2 riferimenti al foglio di stile del mio tema child:
<link rel='stylesheet' id='twentythirteen-style-css' href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />
<link rel='stylesheet' id='child-style-css' href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />
Come mai succede questo?

Questo post è collegato da questo post che ho ora aggiornato con le modifiche presenti in questo articolo
Grazie per aver sollevato questo problema. Ho rapidamente testato lo scenario e lo stile del child theme viene effettivamente caricato due volte.
Quando ho aggiornato il codex qualche tempo fa, mi sono assicurato che lo stile del child theme venisse caricato dopo quello del parent theme, senza considerare che questo avviene di default e che il codice fornito avrebbe caricato il foglio di stile del child theme due volte.
Questo può essere facilmente risolto semplicemente rimuovendo il parametro $priority
dalla funzione e rimuovendo la parte di enqueue per il child theme. Ho ritestato tutto e funziona. Sarebbe bello se un paio di persone potessero confermarlo.
Nel frattempo, aggiornerò il codex e linkerò a questo post.
Ecco il codice funzionante
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' );
}
MODIFICA
Per chiunque questo post non funzioni, si prega di vedere questo post. Dovrete verificare come il parent theme aggiunge gli stili. Il codice in questa domanda presuppone che gli stili nel parent theme siano caricati nel modo corretto in cui dovrebbero essere. Se non è così, guardate le alternative nella risposta linkata e provate quelle.

Proverò. Sembra possibile che WP non si preoccupi che il foglio di stile venga caricato due volte o che ci sia qualche ragione che ci sfugge.

Essendo in tema, ho riscontrato un paio di problemi usando questo metodo, dettagliati qui.

Il foglio di stile non verrà caricato due volte se usi lo stesso 'id'. Ma questo crea un altro problema - voglio caricare il foglio di stile del child in modo che venga caricato dopo l'altro css così posso sovrascriverlo... Ma questo duplica solo lo stile (o lo ignora se usi lo stesso 'id')

Il problema principale con questo metodo, per quanto posso vedere, è che lo stile del child theme non prende il numero di versione del child theme stesso. Sembra che prenda il numero di versione del tema genitore, il che non è sempre ideale.

@pieter-goosen Ho seguito l'esempio su Child Themes che utilizza il numero di versione del child theme: wp_get_theme()->get('Version')
. Tuttavia finisco per avere del CSS duplicato per la versione di WP e la versione del child theme:
<link rel="stylesheet" id="bushwick-style-css" href="/wp-content/themes/bushwick-child/style.css?ver=4.9.8"...>
e
<link rel="stylesheet" id="bushwick-child-css" href="/wp-content/themes/bushwick-child/style.css?ver=1.3.6"...>
.
Quale sarebbe la soluzione in questi casi?
