Come sovrascrivere in modo sicuro gli stili di Contact Form 7?

22 set 2012, 03:57:46
Visualizzazioni: 18.8K
Voti: 0

Dove devo inserire i CSS per sovrascrivere gli stili predefiniti di Contact Form 7 in modo che le mie modifiche non vengano sovrascritte quando aggiorno il plugin?

2
Commenti

Abbiamo bisogno di maggiori informazioni. Un link al tuo sito o qualcosa che mostri specificamente cosa stai cercando di sovrascrivere sarebbe d'aiuto.

Otto Otto
22 set 2012 10:01:10

Ho modificato alcuni stili di colore nel foglio di stile principale del plugin CF7 che funzionano bene, ma quando CF7 viene aggiornato, perdo le modifiche apportate al foglio di stile principale. Normalmente inserirei queste modifiche nel foglio di stile principale del mio tema, ma il foglio di stile di CF7 ha la priorità in quanto viene caricato più tardi nella cascata.

@weston - Posso aggiungere gli stili nel file style.css del mio tema (invece che nel foglio di stile di CF7) e cambiare l'ordine in cui i fogli di stile vengono caricati in modo che il foglio di stile del mio tema sovrascriva tutti gli altri fogli di stile nella cascata?

Jesse Jesse
24 set 2012 05:24:55
Tutte le risposte alla domanda 4
0

Ecco alcuni modi per ottenere questo risultato.

Se stai utilizzando un tema personalizzato, puoi modificare il file style.css e apportare le modifiche di stile che desideri direttamente lì.

Se stai utilizzando un tema standard che aggiorni periodicamente, puoi creare un tema figlio (child theme) in modo che il tuo foglio di stile non venga sovrascritto.

Puoi anche creare il tuo foglio di stile personalizzato e semplicemente collegarlo nel file header.php del tema che stai utilizzando.

22 set 2012 22:36:15
0

Il mio sito utilizza anche Contact Form 7 con stili personalizzati e Bootstrap: http://splash.inting.org/wp/

Ecco le tue opzioni:

1) Durante la creazione del modulo, racchiudi i campi con altri elementi HTML (con le classi pertinenti), come mostrato di seguito:

<div class="control-group">
    <label class="control-label" for="input01">Nome*</label>
    <div class="controls">
        [text* FirstName id:FirstName class:input-xlarge]
    </div>
</div>

Puoi anche definire ID e Classi per gli elementi di Contact Form 7 come mostrato sopra.

2) Crea un file custom.css e aggiorna l'header.php del tuo tema attuale, assicurandoti che il foglio di stile venga aggiunto per ultimo (appena prima della chiusura dell'header). Se viene aggiunto per ultimo, è meno probabile che venga sovrascritto dagli stili del tema o dei plugin.

3) Usa !important nelle definizioni delle classi e degli ID CSS per evitare che vengano sovrascritti da altri stili

19 nov 2012 08:04:09
0

Quello che ho fatto è semplicemente impedire il caricamento del foglio di stile incluso nel plugin. Questo è documentato su http://contactform7.com/controlling-behavior-by-setting-constants/ e si presenta così:

/* Impostazioni per Contact Form 7 */
define('WPCF7_LOAD_CSS', false);

Questo snippet va inserito nel file wp.config.

Facendo questo si ottiene un modulo senza alcuno stile speciale. Potrebbe sembrare un lavoro extra, ma in realtà si adatta meglio all'integrazione in un tema esistente, poiché il layout e l'aspetto del modulo possono essere completamente controllati.

Ad esempio, i miei stili per il modulo di contatto sono così:

.wpcf7-form { margin-top: 1em; }
.wpcf7-form fieldset p { margin: 0; }
.wpcf7-form label { display: block; float: left; clear: left; width: 150px; text-align: right; margin-right: 5px; margin-bottom: 1.5em; }
.wpcf7-form input[type="text"], .wpcf7-form textarea { display: block; float: left; width: 250px; margin-top: 0; }
.wpcf7-form textarea { width: 450px; }
.wpcf7-form fieldset.submit { margin-top: 1em; position: relative; }
.wpcf7-form input[type="submit"] { display: block; margin-left: 154px; width: 150px; }

.wpcf7-display-none { display: none; }
.wpcf7-response-output { margin: 0 155px; border: 1px solid #000; padding: 0.5em; top: -1em; position: relative; }
.wpcf7-mail-sent-ok { border-color: #398f14; }
.wpcf7-mail-sent-ng { border-color: #ff0000; }
.wpcf7-spam-blocked { border-color: #ffa500; }
.wpcf7-validation-errors { border-color: #f7e700; }
.wpcf7 img.ajax-loader { margin: 1em 0 0 155px; }

span.wpcf7-form-control-wrap { position: relative; float: left; }
span.wpcf7-not-valid-tip { position: absolute; top: 20%; left: 20%; z-index: 100; background: #fff; border: 1px solid #ff0000; font-size: 0.9em; padding: 0.2em; }
span.wpcf7-not-valid-tip-no-ajax { color: #f00; font-size: 10pt; display: block; }

La parte importante è il prefisso .wpcf7-, in quanto gli stili possono essere applicati solo ai moduli generati da questo plugin.

19 nov 2012 09:11:39
0

Esiste un comune malinteso secondo cui il plugin Contact Form 7 (CF7) controlla l'aspetto dei moduli CF7 attraverso i fogli di stile CSS del plugin. In realtà, il plugin Contact Form 7 utilizza solo un CSS minimale per permettere ai moduli CF7 di integrarsi con la maggior parte dei siti web.

L'aspetto effettivo dei moduli CF7 sul tuo sito dipenderà principalmente dal tema WordPress attualmente in uso e dagli stili CSS che il tema applica agli elementi standard dei form HTML. Per modificare l'aspetto dei tuoi moduli CF7 in base alle tue esigenze, dovrai regolare il CSS utilizzato dal tuo tema corrente per questi elementi dei form HTML.

Utilizza un Child Theme per apportare modifiche al CSS dei tuoi moduli CF7

Il metodo più comune e preferito per apportare modifiche agli stili dei moduli CF7 è creare un Child Theme. Effettua tutte le aggiunte necessarie nel file style.css del child theme, piuttosto che direttamente nel file style.css del tema genitore. In questo modo, non perderai le tue modifiche quando aggiornerai il tema.

Il file style.css del child theme di solito importa tutti gli stili dal tema genitore includendo il seguente codice CSS all'inizio del file style.css del child theme.

/* Importa il Tema Genitore */
@import url('../parent-theme/style.css');

Qualsiasi modifica CSS necessaria per alterare l'aspetto dei nostri moduli CF7 viene aggiunta sotto questo codice. Grazie alla gerarchia di caricamento del CSS, le modifiche CSS apportate qui generalmente sovrascriveranno gli stili precedentemente impostati nel tema genitore.

10 gen 2014 02:38:05