Supporto » Sviluppare con WordPress » Modifica visualizzazione menu

  • Ciao a tutti
    ho un piccolo problema con del codice che stò scrivendo.
    Vorrei cambiare il menu a seconda della risoluzione dello schermo…..quindi…
    prima cerco la risoluzione:

    <script language="JavaScript">
    <!--
    var Wide = screen.width;
    
    if (Wide <= 600) {
    
      document.write("<? $valore = 'CEL'; echo ($valore);?>");
    
    }
    else {
    
      document.write("<? $valore = 'DES'; echo ($valore);?>");
    
    }
    
    //-->
    </script>

    poi ho scritto questo nel template per modificare il menu

    <?php 
    						
    						if ($valore == 'CEL') {
    							
    								echo ('primo');
    							echo ($valore);
    								wp_nav_menu( array(
    							    'menu' => 'main',
                                    'menu_class'     => 'nav navbar-nav dropdown sf-menu',
                                    'theme_location' => 'primary',
                                    'items_wrap'     => '<ul id="%1$s" class="%2$s">%3$s' . inspiro_wc_menu_cartitem() . '</ul>',
                                    'container'      => false
    								
                                ) );
                            } else if ($valore == 'DES') {
    							 echo ($valore);
    							echo ('secondo');
                                wp_nav_menu( array(	
    								'menu' => 'HOME',
                                    'menu_class'     => 'nav navbar-nav dropdown sf-menu',
                                    'theme_location' => 'primary',
                                    'items_wrap'     => '<ul id="%1$s" class="%2$s">%3$s' . inspiro_wc_menu_cartitem() . '</ul>',
                                    'container'      => false
    								
                                ) );
                            }
    						
    						 
    						
    				
    						
    						?>

    Adesso non riesco a capire 🙁
    La variabile è corretta. Nel print a schermo esce correttamente CEl per cellulare e DES per pc

    Solo che il menu è sempre lo stesso 🙁 Non cambia a seconda della risoluzione.
    Non riesco a capire l’errore. Dovrebbe entrare correttamente nei controlli, invece non lo fa.

Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Ciao @nena79 ,
    nel frammento che hai scritto per il template c’è

    
    echo ($valore);

    Che valore prende?

    Chi ha creato la discussione nena79

    (@nena79)

    Lo prende giusto.
    ‘CEL’ per cellulare
    ‘DES’ per pc

    sullo stampato a video ( echo) esce giusto.
    sulla seconda echo esce
    primoCEL

    quindi entra nel primo if cellulare.
    Ma il menu è sempre HOME e non Main……forse non si può forzare così il menu?

    Ciao @nena79 ,
    ho sistemato il tuo codice in un file. Esce questo:
    Notice: Undefined variable: valore in C:\wamp64\www\sitotest.it\wp-content\plugins\PluginDiServizio\expanded_Examples\Es_cambiaMenu.php on line 9
    stesso msg per la linea 20.

    Poi esce “DES”.

    Il codice inserito nel template non viene eseguito.

    Non è possibile maneggiare un valore lato server quando verrà impostato dopo, lato client e i dati saranno già stati spediti tutti dal server e arrivati al device dell’utilizzatore.

    Ti ci vorrebbe un flusso di dati di ritorno, dal device al server e una conseguente nuova elaborazione.

    Inoltre, se non erro, wp richiede che il codice da eseguire sia avvolto da una funzione e che questa sia agganciata ad un “Hook” di wp.

    Per evitare il via – vai che il tuo sistema implica, sono state inventate le @media query + eventuale javascript.

Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Devi essere collegato per rispondere a questo topic.