Cum pot suprascrie curat CSS-ul unui plugin folosind o temă copil?
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ă.

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')
);

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.
