Come sovrascrivere in modo pulito il CSS di un plugin con un tema child
Ho deciso di attenermi alle convenzioni WordPress per avere un tema child pulito ed elegante. Tuttavia, non sono sicuro su come procedere su una determinata questione.
Vorrei sovrascrivere il CSS di alcuni plugin nel mio sito WordPress, e questo ottimo articolo è stato un grande passo nella giusta direzione. La mia unica preoccupazione è che vorrei fare tutto il possibile per evitare di sovrascrivere il file header.php
nel tema padre per fare questo.
Esiste un altro modo eccellente per farlo? Grazie per il vostro aiuto!
Aggiornamento:
Come è stato fatto notare dal commento di un altro utente, questo dipende effettivamente da come il plugin implementa i suoi stili. A parte questo, assumiamo che i plugin forniscano un modo per implementare gli stili nel foglio style.css
del tema child, o, nel mio caso, in una cartella styles
separata collegata a quel foglio style.css
.
So anche che posso usare !important
ovunque, ma questa pratica è generalmente sconsigliata.

Se i plugin stanno aggiungendo correttamente i loro stili tramite wp_enqueue_style
, ti basta semplicemente rimuoverli dalla coda:
function wpa_dequeue_style() {
wp_dequeue_style( 'plugin-style-handle' );
}
add_action( 'wp_enqueue_scripts', 'wpa_dequeue_style', 100 );
Se questo funzioni o meno dipende da come e dove i plugin aggiungono i loro stili, quindi non c'è una risposta assoluta senza conoscere i metodi specifici utilizzati dai plugin in questione.
MODIFICA - un'altra opzione che non comporta la rimozione completa degli stili è quella di accodare i propri stili con quelli del plugin come dipendenza:
wp_enqueue_style(
'my-styles',
get_template_directory_uri() . '/mystyles.css',
array('plugin-style-handle')
);

Questa è sicuramente un passo nella giusta direzione. Tuttavia, le mie personalizzazioni sono modifiche, quindi lo scambio di copiare-incollare l'intero foglio di stile e modificarlo è un po' controproducente. Come hai detto, dipende anche completamente da come viene aggiunto il css.
