Supporto » Sviluppare con WordPress » Sovrascrivere CSS dinamico

  • Buonasera, ho WordPress 4.9.10 con tema Ashe. Quello che sto cercando di fare è creare un tema child per personalizzare la presentazione del sito. Ho seguito le istruzioni consigliate per caricare i CSS in modo da utilizzare un foglio di stile personale.
    Il problema si presenta quando provo a modificare il font del titolo del sito, visto che quest’ultimo è definito in base alle opzioni in Tema -> Personalizza della dashboard di WordPress. Queste regole vengono caricate tramite l’hook wp_head dal tema genitore alla fine della sezione head di ogni pagina, o comunque dopo i CSS caricati dal tema child. L’add_action responsabile di ciò è contenuto in un file incluso in function.php del parent theme, file che si trova in una sottocartella e che, suppongo, non è sovrascribile da un omonimo file del tema child.
    Non saprei come risolvere questo problema perchè, correggetemi se sbaglio, functions.php del child viene comunque eseguito prima del corrispondente file del parent e può aggiungere o sovrascrivere funzioni presenti in quest’ultimo, ma la funzione da sovrascrivere in questo caso si trova in un file php esterno che sta in una sottocartella.
    Vorrei trovare una strada per superare l’impostazione predefinita per il font dl titolo senza modificare il tema oringinale e possiblmente senza il ricorso all’opzione ‘CSS aggiuntivi’ offerta dal tema.

    P.S. in functions.php del child ho provato ad associare a wp_head una funzione che carica il file CSS personale con una priorità data da un numero alto in modo che il CSS venisse aggiunto dopo ma l’effetto è sgradevole: si vede prima il font del parent e subito dopo passa a quello nuovo.

Stai vedendo 4 repliche - dal 1 al 4 (di 4 totali)
  • Ciao @lucio1980,
    il functions.php del Child viene eseguito dopo il Parent.

    Per la gerarchia dei template puoi ricostruire la stessa struttura del Parent nel Child, quindi sì puoi mettere il file esterno modificato nel tuo Child, basta che rispetti la struttura del tema.

    Il CSS del Child viene caricato dopo quello del Parent, hai controllato di aver creato il Child nel modo corretto? https://developer.wordpress.org/themes/advanced-topics/child-themes/

    Ricorda che tutti i temi presenti nel repository hanno il forum di supporto dedicato, dove forse puoi trovare chi ha già avuto il tuo stesso problema, o contattare direttamente lo sviluppatore. https://wordpress.org/support/theme/ashe/

    Facci sapere

    Ciao @glorialchemica, grazie per la risposta.
    Ho ricopiato file e cartelle del parent (ricreando la struttura) all’interno del child ma il problema rimane.
    Leggo dal link che hai messo:
    “Unlike style.css, the functions.php of a child theme does not override its counterpart from the parent. Instead, it is loaded in addition to the parent’s functions.php. (Specifically, it is loaded right before the parent’s file.)”
    Dice che il functions.php del child è caricato prima e serve per aggiungere nuove funzioni o per modificarle ma, in quest’ultimo caso, solo a condizione che si metta nel functions del parent il controllo if (!function_exists…, almeno così ho capito io, mentre è il file CSS che viene eseguito dopo il corrispondete del tema base, se si seguono le indicazioni su come crearlo. Inoltre il file che definisce il CSS che viene eseguito alla fine dell’head del sito serve appunto solo per questo e non dovrebbe rientrare nella gerarchia che stabilisce in che modo visualizzare una certa pagina, cioè credo che non sia definibile come template file. Quindi copiarlo nella cartella del file non dovrebbe sovrascrivere direttamente il file omonimo che sta nel parent.

    Ciao @lucio1980,
    grazie per la spiegazione sul file functions.php.
    Sinceramente non mi è mai capitato che un tema caricasse ancora degli stili dopo il mio Child.
    Personalmente userei un !important nel mio Child o i CSS personalizzati, se questo portasse al risultato che mi serve.

    Secondo me la persona che può più di tutti aiutarti è lo sviluppatore del tema https://wordpress.org/support/theme/ashe/

    Mi spiace non esserti stata di aiuto, spero che qualcun altro ci riesca.

    @glorialchemica, il link che mi hai indicato mi è stato utile, sto aspettando risposta dal team che ha sviluppato il tema.
    Per quanto riguarda l’ordine con cui vengono caricati i fogli di stili è effettivamente quello che dicevi (prima parent e poi child), in questo tema (non so quanto sia diffusa questa scelta) però altre regole di stile sono aggiunte in un file php che viene eseguito dopo. Se non potrò fare altrimenti penso che ricorrerò ai Css aggiuntivi che sono a disposizione nel menu del tema.

    • Questa risposta è stata modificata 4 mesi, 1 settimana fa da  lucio1980.
Stai vedendo 4 repliche - dal 1 al 4 (di 4 totali)
  • Devi essere collegato per rispondere a questo topic.