Come sovrascrivere in modo pulito il CSS di un plugin con un tema child

28 mag 2013, 20:14:09
Visualizzazioni: 20.3K
Voti: 8

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.

5
Commenti

Dipende interamente da come i plugin in questione aggiungono i loro stili.

Milo Milo
28 mag 2013 20:19:25

Ho aggiornato il mio post per adattarlo al tuo commento. Grazie!

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

Votato per la chiusura come non costruttivo. Per favore modifica la tua domanda per riferirti a plugin specifici e includi il codice CSS specifico implementato da quei plugin.

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

Mi piacerebbe, ma sfortunatamente questa è una domanda piuttosto generica. Il mio obiettivo è incapsulare tutti i fogli di stile che aggiungono modifiche personalizzate allo stile di qualsiasi plugin in una singola cartella nel mio child theme. Questo mantiene un codice molto pulito ed è estremamente efficiente. Aggiungerò comunque del codice specifico!

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

Ho appena trovato questo plugin Simple Custom CSS. Gestisce tutto ciò di cui abbiamo discusso per l'enqueue del CSS dipendente. Semplice da installare e usare.

user41251 user41251
14 set 2014 22:25:43
Tutte le risposte alla domanda 1
5
17

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')
);
28 mag 2013 20:32:38
Commenti

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.

Jordan Thornquest Jordan Thornquest
28 mag 2013 20:39:20

vedi modifica sopra.

Milo Milo
28 mag 2013 20:44:13

Proverò quella modifica. Sembra un'ottima idea!

Jordan Thornquest Jordan Thornquest
29 mag 2013 19:58:58

Wow, non posso mettere abbastanza upvote. Ha funzionato!

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

È una risposta vecchia ma mi ha aiutato nel 2020. Grazie!

Kinburn101 Kinburn101
10 gen 2020 06:46:40