Cum pot suprascrie curat CSS-ul unui plugin folosind o temă copil?

28 mai 2013, 20:14:09
Vizualizări: 20.3K
Voturi: 8

M-am angajat să respect convențiile WordPress pentru a putea avea o temă copil curată și elegantă. Totuși, nu sunt sigur cum să procedez într-o anumită situație.

Aș dori să suprascriu CSS-ul pentru câteva plugin-uri în site-ul meu WordPress, iar acest articol excelent a fost un pas important în direcția corectă. Singura mea preocupare este că aș dori să fac tot posibilul să evit suprascrierea fișierului header.php din tema părinte pentru a realiza acest lucru.

Există o altă metodă elegantă de a face acest lucru? Mulțumesc pentru ajutor!

Actualizare:

După cum a fost subliniat în comentariul altui utilizator, acest lucru depinde de fapt de modul în care plugin-ul își implementează stilurile. În afară de acest aspect, să presupunem că plugin-urile oferă o modalitate pentru ca stilurile să fie implementate în fișierul style.css al temei copil sau, în cazul meu, într-un folder separat styles legat de acel fișier style.css.

De asemenea, știu că pot folosi !important peste tot, dar această practică este în general dezaprobată.

5
Comentarii

depinde în întregime de modul în care plugin-urile în cauză adaugă stilurile lor.

Milo Milo
28 mai 2013 20:19:25

Am actualizat postarea pentru a ține cont de comentariul tău. Mulțumesc!

Jordan Thornquest Jordan Thornquest
28 mai 2013 20:27:47

Închis cu vot ca neconstructiv. Te rugăm să editezi întrebarea ta pentru a face referire la plugin-uri specifice și să incluzi codul CSS specific de implementare pentru acele plugin-uri.

Chip Bennett Chip Bennett
28 mai 2013 23:00:48

Aș vrea să fac asta, dar din păcate aceasta este o întrebare destul de generală. Scopul meu este să încapsulez toate fișierele de stil care adaugă modificări personalizate la stilizarea oricărui plugin într-un singur folder în tema mea child. Acest lucru menține un cod foarte curat și este foarte eficient. Voi adăuga însă cod specific!

Jordan Thornquest Jordan Thornquest
29 mai 2013 19:58:21

Tocmai am găsit acest plugin Simple Custom CSS. El se ocupă de tot ceea ce s-a discutat pentru încărcarea CSS-ului dependent. Simplu de instalat și utilizat.

user41251 user41251
14 sept. 2014 22:25:43
Toate răspunsurile la întrebare 1
5
17

Dacă plugin-urile își adaugă corect stilurile folosind wp_enqueue_style, trebuie doar să le scoți din coadă:

function wpa_dequeue_style() {
    wp_dequeue_style( 'plugin-style-handle' );
}
add_action( 'wp_enqueue_scripts', 'wpa_dequeue_style', 100 );

Dacă acest lucru funcționează sau nu depinde de modul și locul în care plugin-urile își adaugă stilurile, așa că nu există un răspuns absolut fără a cunoaște metodele specifice pe care le folosesc plugin-urile respective.

EDIT - o altă opțiune care nu implică eliminarea completă a stilurilor este să încarci propriile stiluri cu stilurile plugin-ului ca dependență:

wp_enqueue_style(
    'my-styles',
    get_template_directory_uri() . '/mystyles.css',
    array('plugin-style-handle')
);
28 mai 2013 20:32:38
Comentarii

Este cu siguranță un pas în direcția bună. Totuși, modificările mele sunt editări, așa că compromisul de a copia și lipi întreaga foaie de stil și de a o edita este un pic contraproductiv. Cum ai spus, depinde și complet de modul în care este adăugat CSS-ul.

Jordan Thornquest Jordan Thornquest
28 mai 2013 20:39:20

vezi editarea de mai sus.

Milo Milo
28 mai 2013 20:44:13

Voi încerca această editare. Pare o idee excelentă!

Jordan Thornquest Jordan Thornquest
29 mai 2013 19:58:58

Wow, nu pot să votez suficient de mult. A funcționat!

Jordan Thornquest Jordan Thornquest
29 mai 2013 22:20:51

Este un răspuns vechi, dar m-a ajutat în 2020. Mulțumesc!

Kinburn101 Kinburn101
10 ian. 2020 06:46:40