Visualizzazione risultati 1 fino 12 di 12

Discussione: Funzione che controlla un CSS

  1. #1
    Guest

    Predefinito Funzione che controlla un CSS

    Dovrei creare una funzione che modifica il CSS in base ad una situazione.
    Praticamente, se l'amministratore (ID1) è loggato e quindi appare in alto la barra nera di WordPress, mostra questo CSS:

    Codice PHP:
    #masthead {
    position: -webkit-sticky;
    position: sticky;
    top: -123px;
    z-index: 9999;
    }
    se invece la home viene vista da un visitatore e quindi non appare la barra nera, mostra questo CSS:

    Codice PHP:
    #masthead {
    position: -webkit-sticky;
    position: sticky;
    top: -155px;
    z-index: 9999;
    }

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,063

    Predefinito

    Salve,
    può farlo semplicemnte con js ad esempio:
    Codice HTML:
    <script>
    function TestId(idelemento,idutente)
    { 
      var eid=document.getElementById(idelemento);
      
      if(idutente=="valore_id_admin"){
         eid.setAttribute("id", "masthead_admin");	 
       }else{
         eid.setAttribute("id", "masthead");
       }
    }
    </script>
    
    <!-- test di verifica -->
    
    <input type="button" onclick="TestId('masthead','valore_id_admin');" value="admin">
    <input type="button" onclick="TestId('masthead_admin','altro_valore');" value="altro"><br>
    
    <div id="masthead">test<div>
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 25-01-2022 alle ore 15.00.09

  3. #3
    Guest

    Predefinito

    Dove lo metto, in functions.php child?

  4. #4
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,063

    Predefinito

    Sì, la funzione dovrebbe andrebbe functions.php del tema child.

    Prima mi sono limitato a rispondere alla domanda, però ripensandoci, visto che implicherebbe poi l'aggiunta comunque di codice php, nello specifico per Worpdress, in functions.php del tema child, dovrebbe essere più adeguato aggiungere questo:
    Codice PHP:
    function my_admin_bar_settings($content){
    return (
    current_user_can('administrator')) ? $content : false;
    }

    add_filter('show_admin_bar' , 'my_admin_bar_settings');
    Crdial saluti.

  5. #5
    Guest

    Predefinito

    Non funziona, la barra del menù della homepage va sotto un pò di pixel la barra nera di WordPress quando entro nella home come admin, dovrebbe invece fermarsi esattamente sotto. Se invece visualizzo la home come visitatore, e quindi senza la barra nera, si ferma giusta perché appunto ho settato il css che ho messo nel primo post.

  6. #6
    Guest

    Predefinito

    Io avrei anche trovato questo plugin che svolge perfettamente il compito che chiedo, ma non mi sembra il caso di installare un plugin per una cosa del genere, un semplice codice mi basterebbe.
    https://it.wordpress.org/plugins/sti...ing-on-scroll/

  7. #7
    frasidipace non è connesso AlterGuru
    Data registrazione
    07-05-2010
    Messaggi
    2,421

    Predefinito

    Ciao,
    il top lo devi calcolare tenendo conto della barra admin. Il mio tema, infatti, lo imposta in questo modo.
    Prova a scrivere il top nel CSS in questo modo senza includere la function:
    Codice:
    top: calc(var(--admin-bar, 0px) + var(--frame-size, 0px))!important;
    Questo è uno dei motivi per cui occorre scegliere un tema che offra massima libertà di configurazione senza stare ad impazzirsi con codici aggiuntivi che alla lunga potrebbero non funzionare più.

    Ciao

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da frasidipace Visualizza messaggio
    Ciao,
    il top lo devi calcolare tenendo conto della barra admin. Il mio tema, infatti, lo imposta in questo modo.
    Prova a scrivere il top nel CSS in questo modo senza includere la function:
    Codice:
    top: calc(var(--admin-bar, 0px) + var(--frame-size, 0px))!important;
    Questo è uno dei motivi per cui occorre scegliere un tema che offra massima libertà di configurazione senza stare ad impazzirsi con codici aggiuntivi che alla lunga potrebbero non funzionare più.

    Ciao
    Con questo codice blocca tutto l'header con la barra del menu

  9. #9
    frasidipace non è connesso AlterGuru
    Data registrazione
    07-05-2010
    Messaggi
    2,421

    Predefinito

    Citazione Originalmente inviato da fotoebenessere Visualizza messaggio
    Con questo codice blocca tutto l'header con la barra del menu
    Lo hai inserito all'interno dell'intero codice CSS?

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da frasidipace Visualizza messaggio
    Lo hai inserito all'interno dell'intero codice CSS?
    Di codice ho solo questo:

    Codice HTML:
    #masthead {
    	position: -webkit-sticky;
    	position: sticky;
    	top: calc(var(--admin-bar, 0px) + var(--frame-size, 0px))!important;
    	z-index: 9999;
    }

  11. #11
    frasidipace non è connesso AlterGuru
    Data registrazione
    07-05-2010
    Messaggi
    2,421

    Predefinito

    Evidemente blocca tutto perché stai utilizzando l'id #masthead.
    Individua l'id o la class del solo menu.

    Ciao

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da frasidipace Visualizza messaggio
    Evidemente blocca tutto perché stai utilizzando l'id #masthead.
    Individua l'id o la class del solo menu.

    Ciao
    L'unico che funziona (senza la barra nera di WordPress) è ancora questo, se invece voglio fermarlo al top con la barra di WordPress devo settare -123px. devo scegliere uno o l'altro.
    Codice HTML:
    #masthead {
    	position: -webkit-sticky;
    	position: sticky;
    	top: -156px;
    	z-index: 9999;
    }
    Ultima modifica di fotoebenessere : 28-01-2022 alle ore 13.50.17

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •