Come rimuovere stili specifici dal CSS del tema padre utilizzando il CSS del tema figlio?

21 mag 2014, 01:01:43
Visualizzazioni: 68.3K
Voti: 4

Ci sono alcuni stili nel mio tema padre che rimuoverei semplicemente dal foglio di stile se non stessi utilizzando un tema figlio. Ovviamente, non voglio rimuoverli dal CSS del tema padre, ma c'è un modo per "rimuovere" efficacemente gli stili usando il mio tema figlio?

1
Commenti

Per estendere questa domanda, oltre agli stili specifici, sarebbe interessante sapere se esiste un modo per rimuovere i riferimenti ai fogli di stile esterni. Ad esempio, c'è un tema che mi piace ma include un foglio di stile da fonts.google.com che preferirei evitare per mantenere il mio sito libero da Google. :-\ L'ho risolto utilizzando wp_dequeue_style e wp_deregister_script.

Synetech Synetech
21 set 2019 16:51:00
Tutte le risposte alla domanda 4
0

L'unico modo per "rimuovere" gli stili dal tema genitore è sovrascriverli nel CSS del tema figlio.

Ad esempio, se hai la seguente dichiarazione nel tuo tema genitore:

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

Puoi sovrascrivere la larghezza e il float dichiarando quanto segue nel tuo tema figlio:

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

So che questo è vecchio ma ci ho pensato ultimamente. Ho lo stesso problema, se mi trovo a modificare in modo molto esteso il foglio di stile del tema genitore, può arrivare al punto in cui carico un numero enorme di stili, semplicemente per sovrascriverli nel tema figlio.

Quando affronto questo tipo di progetto, di solito accade che modifico molto più il CSS che il PHP. Voglio usare un tema figlio per la struttura PHP e l'HTML, ma il CSS è praticamente tutto mio. Per questo tipo di progetto, invece di accodare il CSS del genitore, lo copio nel foglio di stile del tema figlio e poi lo modifico, in modo che le uniche parti del CSS genitore che mantengo sono quelle che ho scelto specificamente di riutilizzare.

Non sei obbligato a usare il CSS di un tema genitore. Puoi scrivere tutto il CSS personalizzato, se vuoi, e usare solo i template PHP dal tuo genitore.

Il PHP ha molte più probabilità di avere problemi di sicurezza rispetto al CSS, che è solo un sistema di formattazione, quindi puoi affidarti a un set di PHP/HTML testato e aggiornato e formattarlo tu stesso.

19 gen 2016 16:06:35
Commenti

Questo è davvero un punto molto pertinente. Ho iniziato con i temi, poi i child theme, e mi sono trovato frustrato dal dover sovrascrivere gli stili esistenti del tema genitore... così poi ho fatto quello che suggerisci e ho abbandonato il parent style.css, prima copiandolo tutto, poi solo le parti che volevo mantenere. Ma poi ho iniziato a voler modificare anche HTML e PHP e invece usavo i temi genitore per capire 'come' facevano le parti che mi piacevano... ...e ora ho il mio framework iniziale e costruisco tutto personalizzato. È un modo davvero ottimo per imparare. Bella risposta Victoria.

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

Effettivamente, sì. A meno che non stia fraintendendo la tua domanda, questa è solo la normale specificità del CSS. Presumo che tu voglia utilizzare la maggior parte del CSS dal tema genitore, ma solo alcune parti non sono desiderate, dato che il CSS non viene caricato automaticamente dal tema genitore.

Si applicano tutte le normali regole di override o aumento della specificità. Il metodo più semplice (ma più brutale) è semplicemente creare regole che utilizzano !important per sovrascrivere le regole che non desideri. Altrimenti, dovresti fare affidamento sulla cascata delle regole e sulla specificità per indirizzare correttamente gli elementi che vuoi modificare e impostare gli stili desiderati.

Non c'è nulla di integrato in WordPress per filtrare, tagliare, eliminare o rimuovere parti del CSS da un tema genitore, se è questo che stai chiedendo.

21 mag 2014 02:01:19
0

Non credo esista un modo, solo soluzioni alternative.

Modifica:

Spiegazione: Creando un child theme, per definizione, stai caricando il CSS del tema genitore. Quindi non vedo un modo per escludere alcune parti di quel CSS. L'unico modo efficace sarebbe sovrascriverlo. Il modo più diretto sarebbe usare i selettori e le regole che vuoi modificare e impostarli su nuovi valori o valori predefiniti. Dato che il CSS del child theme si trova più in alto nella "cascata" degli stili rispetto al CSS del genitore, non dovrebbe essere necessario utilizzare dichiarazioni "!important" e simili.

21 mag 2014 02:13:30