Cum elimin anumite stiluri din CSS-ul temei părinte folosind CSS-ul temei copil?

21 mai 2014, 01:01:43
Vizualizări: 68.3K
Voturi: 4

Există anumite stiluri în tema mea părinte pe care le-aș elimina pur și simplu din foaia de stiluri dacă nu aș folosi o temă copil. Evident, nu vreau să le elimin din CSS-ul părinte, dar există vreo modalitate de a "elimina" efectiv stilurile folosind tema mea copil?

1
Comentarii

Pentru a extinde această întrebare, pe lângă stilurile specifice, ar fi util să știm dacă există o modalitate de a elimina referințele la fișierele de stil externe. De exemplu, există o temă care îmi place, dar include un fișier de stil de pe fonts.google.com, pe care aș prefera să-l evit pentru a păstra site-ul meu liber de Google. :-\ Am reușit să fac acest lucru folosind wp_dequeue_style și wp_deregister_script.

Synetech Synetech
21 sept. 2019 16:51:00
Toate răspunsurile la întrebare 4
0

Singura metodă de a "elimina" stilurile din tema părinte este să le suprascrieți în fișierul CSS al temei copil.

De exemplu, dacă aveți următoarea declarație în tema părinte:

.someclass{
    width: 200px;
    float: left;
 }

Puteți suprascrie lățimea și poziționarea prin declararea următoare în tema copil:

.someclass{
    width: auto;
    float: none;
}
21 mai 2014 05:17:49
1

Știu că acest lucru este vechi, dar am tot reflectat la el în ultima vreme. Am aceeași problemă - dacă mă apuc să modific foarte intens fișierul de stiluri al părintelui, pot ajunge în punctul în care încarc un număr enorm de stiluri, doar pentru a le suprascrie în tema copil.

Când lucrez la acest tip de proiect, de obicei modific CSS-ul mult mai mult decât PHP-ul. Vreau să folosesc o temă copil pentru structura PHP și HTML, dar CSS-ul este practic al meu. Pentru astfel de proiecte, în loc să încarc CSS-ul părintelui, îl copiez în fișierul de stiluri al temei copil și apoi îl modific, astfel încât păstrez doar acele părți din CSS-ul părintelui pe care le-am ales în mod specific să le reutilizez.

Nu e obligatoriu să folosești deloc CSS-ul temei părinte. Poți scrie complet personalizat tot CSS-ul, dacă dorești, și să folosești doar șabloanele PHP de la părinte.

PHP-ul are mult mai multe șanse să aibă probleme de securitate decât CSS-ul, care este doar un sistem de formatare, așa că poți avea încredere într-un set de PHP/HTML testat și actualizat, iar formatarea o poți face tu.

19 ian. 2016 16:06:35
Comentarii

Acesta este de fapt un punct foarte pertinent. Am început cu teme, apoi cu teme copil, și m-am frustrat de faptul că trebuia să suprascriu stilurile existente din tema părinte... Așa că am făcut exact ce sugerezi și am abandonat style.css-ul părinte, mai întâi copiind tot, apoi doar ce voiam să păstrez. Dar apoi am început să vreau să modific și HTML și PHP, iar în loc să folosesc temele părinte, le foloseam doar pentru a înțelege 'cum' au făcut părțile care îmi plăceau... ...iar acum am propriul meu cadru de lucru inițial și construiesc totul personalizat. Este o metodă excelentă de a învăța. Bun răspuns, Victoria.

Tony Djukic Tony Djukic
24 apr. 2020 18:48:53
0

În esență, da. Dacă nu am înțeles greșit întrebarea dumneavoastră, aceasta este doar specificitatea de bază CSS. Presupun că doriți să utilizați cea mai mare parte din CSS-ul temei părinte, dar doar o parte din el nu este dorită, deoarece CSS-ul nu este încărcat implicit din tema părinte.

Toate regulile normale de suprascriere sau creștere a specificității se aplică. Cea mai simplă (dar cea mai brutală) metodă este să creați reguli care folosesc !important pentru a suprascrie regulile pe care nu le doriți. În caz contrar, ar trebui să vă bazați pe cascada regulilor și pe specificitate pentru a direcționa corect elementele pe care le doriți și pentru a seta stilurile dorite.

Nu există nimic încorporat în WordPress pentru a filtra, tăia, șterge sau elimina bucăți din CSS-ul unei teme părinte, dacă asta întrebați.

21 mai 2014 02:01:19
0

Cred că nu există o metodă directă, doar soluții alternative.

Editare:

Explicație: Prin crearea unui child theme, prin definiție, încarci CSS-ul temei părinte. Prin urmare, nu văd cum ai putea exclude anumite părți din acel CSS. Singura metodă eficientă ar fi să îl suprascrii. Cea mai simplă abordare ar fi să folosești selectorii și regulile pe care vrei să le modifici și să le setezi la valori noi sau implicite. Deoarece CSS-ul din child theme apare mai jos în "cascada" de stiluri decât CSS-ul părintelui, nu ar trebui să fie nevoie de declarații "!important" sau asemenea.

21 mai 2014 02:13:30