Acordă prioritate foii de stil pentru tema copil
Am creat o temă copil și fișierul principal style.css funcționează perfect. Cu toate acestea, tema părinte are o altă foaie de stil pe care vreau să o import și să creez aceeași versiune pentru tema copil și să o folosesc în locul celei din părinte.
Structura temei părinte - ./woocommerce/woo.css
Structura temei copil - ./woocommerce/woo.css (Creată manual)
Acum, am încărcat ambele foi de stil în functions.php al temei copil după cum urmează.
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');
Acum, dacă adaug un stil în fișierul woo.css al temei copil, acesta nu funcționează decât dacă folosesc !important. Nu vreau să fiu nevoit să fac asta pentru fiecare stil pe care îl adaug.
este

Poți încerca să adaugi o valoare de prioritate pentru fiecare add_action pentru a te asigura că unul se execută înaintea celuilalt.
add_action( 'wp_enqueue_scripts', 'fruitful_load_parent_stylesheets', 10 );
add_action('wp_enqueue_scripts', 'fruitful_load_child_stylesheets', 20 );

Nu a funcționat. Iată link-ul către captura de ecran a inspect element - http://i.imgur.com/Mb34NJa.png
Al treilea bloc este din woo.css al temei child, în timp ce primele două sunt din tema părinte. Nu știu de ce sunt încărcate de două ori.

Setarea priorității a funcționat pentru mine. A trebuit să o setez mai mare decât 10 pentru a "depăși" încărcarea din tema părinte.

Fișierul stylesheet
al temei copil va fi încărcat de obicei automat. Dacă nu se întâmplă acest lucru, va trebui să îl încărcați manual folosind funcția enqueue
. Specificând 'parent-style' ca dependență, vă asigurați că fișierul stylesheet
al temei copil se încarcă după cel al părintelui.
/**
* Încarcă stilurile temei (mai întâi părintele, apoi copilul)
*
*/
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' );
Notă: consultați Manualul Dezvoltatorului de Teme pentru informații suplimentare.

Am reușit să încărc tema copil mai târziu, ca mai jos. A trebuit să elimin și să deregistrez stilul părinte, apoi să încarc stilul părinte și stilul copil. Sper că vă ajută.
Fișierul părinte functions.php
conține:
add_action('wp_enqueue_scripts', 'load_parent_style', 10);
function load_parent_style() {
wp_enqueue_style('parent-theme-style'); // codul temei părinte
}
Fișierul copil functions.php
conține:
add_action('wp_enqueue_scripts', 'load_child_style', 20);
function load_child_style() {
// înregistrez și încarc stilul părinte cu un nou nume
wp_register_style('parent-style', $url, array($deps));
wp_enqueue_style('parent-style');
// elimin și deregistrez stilul temei părinte
wp_dequeue_style('parent-theme-style'); // din tema părinte
wp_deregister_style('parent-theme-style');
// înregistrez și încarc stilul copil
wp_register_style('child-style', get_stylesheet_uri(), array('parent-style'));
wp_enqueue_style('child-style');
}
