ok, proverò a dargli uno sguardo appena ho un po' di tempo.
Una soluzione CSS potrebbe comunque esserci, anche se un po' macchinosa. Per identificare la pagina si potrebbe ad esempio sfruttare (sempre che ci sia) il tag <meta name="description" content="nome della pagina"> che sta dentro <head>. Usando la pseudo-classe :has() e un selettore di attributo, puoi infatti stabilire se <head> contiene un tag <meta> con attributo content il cui valore inizi per un qualcosa (il nome della pagina) e andare quindi a selezionare il footer.
Faccio un esempio al volo. Supponiamo che tu voglia far visualizzare il footer per la pagina corsi (avendo già impostato display:none come regola generale per tutte le pagine).
Su questa pagina, in <head> hai questo tag:
codice:
<meta name="description" content="Courses page Description">
Prendiamo quindi il valore "Courses" come identificativo.
Nel CSS puoi quindi impostare questa regola:
codice:
head:has(meta[content^="Courses"]) + body footer {
display: initial;
}
Dentro :has() puoi includere gli identificativi delle varie pagine, inserendoli come argomenti separati da virgola o usando la pseudo-classe :is() per semplificare in questo modo:
codice:
head:has(meta:is([content^="Courses"],[content^="Tutor"],[content^="Altra Pagina"])) + body footer {
display: initial;
}
Tieni comunque conto che :has() è stato introdotto come standard nel dicembre 2023, quindi è piuttosto nuovo e potrebbe non essere supportato da browser poco recenti o non aggiornati.
Vedi tu se potrebbe fare al caso.