Ciao @agnese68 e intanto complimenti per la volontà di fare le cose fatte bene, hai appena guadagnato il mio respect.
Secondo me quello che sta succedendo è che per il momento sul tuo PC stai consultando la versione cachata del tema (salvata nel browser) mentre da cellulare viene caricato il sito con le nuove modifiche che probabilmente non sono state inserite nel modo corretto.
Se non sbaglio, l’errore principale è quello di utilizzare la funzione get_template_directory_uri()
perché fa riferimento alla cartella del tema genitore e va a cercare il file style.css
al suo interno.
Come suggerito nella documentazione che ti ho collegato, sarebbe meglio fare un tentativo con la funzione get_stylesheet_directory_uri()
per scoprire se tutto funziona (scusa il gioco di parole) correttamente.
Prova a fare questo tentativo, assicurati di avere la cache svuotata anche sul browser del PC e facci sapere come va la situazione 😉
Spero che questo ti abbia aiutata a risolvere il problema, se dovesse continuare a presentarsi non esitare a rispondere a questo topic.
A presto,
Andrea
-
Questa risposta è stata modificata 7 anni, 3 mesi fa da Andrea Barghigiani. Motivo: aggiunta funzione corretta
Ciao @agnese68,
rispetto a quanto hai chiesto qui
se il mio tema si chiama almera, devo scrivere almera-style?
la risposta è no: scrivi solo il nome del tema genitore.
Per il resto segui la risposta di Andrea 🙂
Chi ha creato la discussione
agnese68
(@agnese68)
Carissimi, grazie mille a tutti e due, in effetti adesso funziona !
Questo però è la conferma che non ci ho capito niente ! 🙁
Ovvero, leggendo in rete, pensavo di dover collegare al tema figlio lo style.css del genitore per importarne le regole, dato che sullo style.css del figlio ho scritto solo le righe di base.
Quindi mi sfugge il modo in cui questo collegamento avvenga, scusate la lungaggine ma vorrei capire, ditemi se e dove sbaglio:
1. Se inserisco il file style.css nel figlio e non aggiungo @import e non creo nessun functions.php, lo style.css del figlio dovrebbe sovrascrivere quello del genitore e dovrebbe darmi errore perchè non vi è scritta nessuna regola.
2. Se inserisco il file style.css nel figlio e aggiungo @import, oltre a quello del figlio dovrebbe venir caricato anche quello del padre e quindi funziona.
3. Se inserisco il file style.css nel figlio che è il tema attivo, e con il functions.php dico di cercare il suo style.css, come viene letto anche quello del padre ????
Ciao @agnese68, non ti scoraggiare se senti che hai ancora un po’ di confusione nell’approccio e anzi fatti i complimenti perché stai imparando qualcosa di nuovo 😀
Nel tentativo di aiutarti nell’apprendimento rispondero direttamente a ciascuna delle tue domande:
- Senza aggiungere
@import
puoi soltanto sfruttare la struttura del tuo tema genitore e dovrai crearti da zero tutti gli stili dei tuoi CSS.
- Utilizzare
@import
all’interno del CSS del figlio ti permette di ereditare dal genitore tutti gli stili e ti consente di sovrascriverli grazie al concetto “a cascata” dei fogli di stile.
- Puoi dire al tuo WordPress, grazie al PHP, di caricare il CSS del genitore e tendenzialmente è la soluzione migliore perché permette di ridurre il numero di chiamate HTTP.
Quindi il codice che devi inserire nel tuo functions.php
per dire a WordPress di caricare sia il CSS del tema genitore che quello del figlio devi utilizzare il seguente blocco di codice:
add_action( 'wp_enqueue_scripts', 'carico_stili' );
function carico_stili(){
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'parent-style' ) );
}
Come puoi notare stiamo usando due funzioni differenti per caricare i distinti CSS:
get_template_directory_uri()
– che ci da il percorso al tema principale (il genitore in questo caso);
get_stylesheet_directory_uri()
– che ci da il percorso alla cartella contenente il foglio di stile (in questo caso il tema figlio).
Spero che adesso la situazione sia più chiara, se hai bisogno di ulteriore aiuto non esitare a farcelo sapere.
A presto,
Andrea
Chi ha creato la discussione
agnese68
(@agnese68)
Andrea, grazie mille per la spiegazione,pazienza e disponibilità, ho capito la differenza tra i due get_.
Quello che non capisco è quello che succede poi al lato pratico…
Dentro la cartella del tema figlio, ho inserito un footer.php perchè era qui che volevo apportare le modifiche, lo screenshot.png, e fin qui tutto ok e il file style.css che contiene solamente le istruzioni base per la sua creazione e nient’altro:
/*
Theme Name: almera Child
Description: Child Theme del tema almera
Author: Agnese Rasura
Author URI: http://www.agneserasura.com/
Template: almera
Version: 1.0
*/
L’uso del get_template nel functions.php mi dava problemi di visualizzazione, mentre usando come mi hai suggerito tu get-stylsheet (e solo questo)tutto funziona!
E’ qui che non capisco, perchè tutte le istruzioni sono nello style.css del genitore ma vengono lette ugualmente.
Mi viene da pensare quindi che vengano caricati entrambi e che il figlio non sovrascriva il genitore.
Ad ogni modo, nonostante l’emicrania 🙂 sono molto felice che funzioni !!!
Ciao @agnese68,
puoi approfondire il Child Theme con la documentazione ufficiale 🙂
https://codex.wordpress.org/Child_Themes
Home
Chi ha creato la discussione
agnese68
(@agnese68)
Grazie ! 🙂
Sto leggendo e rileggendo ! 😉
Ciao a tutti,
ho deciso di iscrivermi al forum solo per ringraziarvi, dato che grazie a questo topic ho risolto il problema di mancata lettura dello style.css del tema figlio.
Un grazie particolare ad Andrea per la chiara spiegazione!
PS
Agnese ti sei dimenticata di togliere il label della demo per cambiare il colore del sito 😉
Grazieeee
Chi ha creato la discussione
agnese68
(@agnese68)
@dcnmtt, sono contenta che il mio post sia stato utile anche a te, e colgo l’occasione anch’io per ringraziare nuovamente gli esperti !
Sul mio sito invece, ho lasciato appositamente la possibilità all’utente di cambiare colori a sfondo e testo se la visione gli risulta più gradevole con altre combinazioni 😉