De ce nu se încarcă foaia de stiluri a temei copil?
Folosesc tema HashOne și am creat o temă copil pentru a face diverse modificări de culoare pe site-ul nostru.
Totuși, modificările pe care le-am făcut în foaia de stiluri a temei copil au efect doar în anumite secțiuni ale site-ului, în timp ce alte modificări preiau stilurile din tema părinte. Am creat un fișier functions.php
care cred că este formatat corect. Vezi mai jos:
<?php
add_action( 'wp_enqueue_scripts', 'hashone_enqueue_styles' );
function hashone_enqueue_styles() {
wp_enqueue_style( 'hashone-parent-style', get_template_directory_uri() .
'/style.css' );
}
Când am folosit modul de inspecție pentru a vedea ce CSS suprascrie tema copil, am putut confirma că este definitiv tema părinte. Totuși, există trei fișiere CSS care operează simultan și nu știu cum să rectific acest lucru.
stage.ottrial.pitt.edu/wp-content/themes/hashone/style.css?ver=4.7.1
stage.ottrial.pitt.edu/wp-content/themes/hashone-theme-child/style.css?ver=1.0
stage.ottrial.pitt.edu/wp-content/themes/hashone/style.css
Cel care conduce este #3. Nu sunt sigur ce fac greșit aici.

Nu este nevoie de mai mult cod în fișierul tău functions.php pentru a încărca CSS-ul temei părinte din tema copil. Problema este că prin adăugarea acelui cod, încarci CSS-ul temei părinte a doua oară, dar acum se încarcă după cel al temei copil. Asta înseamnă că toate modificările făcute în tema copil nu vor avea niciun efect.
Pur și simplu elimină acea linie și ar trebui să vezi modificările în tema ta copil.
Adăugat: Iată cele două fișiere pe care le-am folosit, cu doar elementele de bază pentru a încărca corect CSS-ul temei copil.
Fișierul style.css:
/*
* Nume Tema: HashOne Copil
* Șablon: hashone
* Domeniu Text: hashone-copil
*/
Fișierul functions.php:
<?php
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_style( 'hashone-parent-style', get_template_directory_uri() . '/style.css' );
});

Poți oferi un exemplu despre cum ar fi scrisă linia de enqueue în functions.php?

Îmi pare rău că nu am fost clar. Ce ai mai sus este corect. Dar același fișier este încărcat din nou mai târziu (acesta este al doilea fișier /hashone/style.css pe care îl vezi). Găsește unde este încărcat din nou și elimină-l. Pe o instalare proaspătă a HashOne cu un child theme format doar dintr-un fișier style.css gol și un fișier functions.php așa cum ai mai sus, stilurile sunt încărcate corect pentru mine.

Nu este nevoie să încarci fișierul Style Sheet al temei Child decât dacă dorești să îl denumești altfel decât style.css
.
În mod implicit, WordPress încarcă automat fișierul style.css
(din directorul rădăcină al temei) atât pentru Tema Părinte, cât și pentru Tema Copil.
Asigură-te că Tema Copil este activată și adaugă CSS-ul tău în fișierul style.css
al Temei Copil.
Folosește inspectorul pentru a identifica cu ușurință regulile CSS. Suprascrierea regulilor CSS din Tema Părinte poate fi uneori complicată. Folosirea !important
poate ajuta la suprascrierea unor reguli CSS din Tema Părinte.
Exemplu de utilizare a !important
în CSS
Să presupunem că Tema Părinte definește următoarea regulă:
#site-title {
color: #000000;
background: #ffffff;
}
Poți suprascrie forțat acea regulă în Tema Copil astfel:
#site-title {
color: #ffffff !important;
background: #000000 !important;
}

Mulțumesc, Michael. Am verificat din nou că tema copil este activată și că am adăugat CSS-ul meu doar în tema copil. Unde ar trebui să scriu "!important" în CSS-ul meu pentru a suprascrie tema Părinte?

Țineți cont de noul quatro începând cu WP 4.7:
get_theme_file_uri()
get_parent_theme_file_uri()
get_theme_file_path()
get_parent_theme_file_path()
au venit să înlocuiască vechiul quatro:
get_stylesheet_directory_uri()
get_template_directory_uri()
get_stylesheet_directory()
get_template_directory()
În ordinea respectivă. Avantajul este convenția de denumire mai bună.
