• User Newbie

    menu drop-down ha smesso di funzionare

    Ciao a tutti,
    su un sito che ho preso in carico da poco ho riscontrato un problema sui menu a tendina.
    Non funziona più il drop-down (che a detta del cliente funzionava fino a qualche giorno fa). Sembra non abbiano apportato alcuna modifica né aggiornamento al sistema.
    La versione installata è la 3.4.2. Ho provato a disattivare tutti i plugin ma il problema persiste.
    In modo del tutto casuale mi sono accorta che se pubblico un video con il plugin "cool video gallery", il menu rifunziona! :():
    Non ho mai lavorato in wordpress prima.. quindi non so bene come muovermi..
    Può essere un problema javascript?
    Grazie a chiunque mi possa aiutare,
    Simona


  • User

    Ciao Simona, dipende da come è strutturato il menu, se solo con css o anche con Javascript.

    La cosa più veloce da fare è controllare quali errori restituisce il browser dalla console di debug. In Chrome è accessibile premendo F12, poi ti sposti in "Console" (attivala prima di aggiornare la pagina, altrimenti non "cattura" gli errori).
    Per esperienza ti posso dire che può essere uno script Javascript che incontrando un errore blocca il resto del codice (se non trova ad esempio un elemento nel DOM).
    Oppure il sito tenta di caricare librerie javascript dall'esterno che in realtà non esistono più 🙂


  • User Newbie

    Grazie mille della risposta MatrixTeo!

    Ho fatto quello che mi suggerivi e la console mi restituisce i seguenti errori:

    • Uncaught TypeError: Cannot read property 'msie' of undefined [RIGHT]jquery.fancybox-1.3.4.pack.js:18[/RIGHT]

    • Uncaught TypeError: Cannot read property 'msie' of undefined [RIGHT]sf.js:64[/RIGHT]

    • Uncaught TypeError: Cannot read property 'serial' of undefined [RIGHT]sf.js:35[/RIGHT]

    Il primo dovrebbe interessare un errore sulla "cool video gallery" (i video non si aprono in una shadowbox, come dovrebbero).
    Gli altri riguardano proprio il problema dei menu!

    E ora? Come posso risolvere il tutto?

    Grazie ancora!
    Simona


  • User

    La shadowbox alla quale fai riferimento genera proprio l'errore (jquery.fancybox-1.3.4.pack.js).

    Se da come dici non è stato toccato nulla, forse il tema richiama sempre l'ultima versione di jQuery. Ogni release di jQuery elimina metodi deprecati, quindi spesso script "vecchi" si bloccano.
    Prova a sostituire jQuery con una versione più vecchia. (es. 1.8.3), lo trovi nell'header del tema o in functions.php.


  • User Newbie

    Grazie MatrixTeo!
    Prima di leggere la tua ultima risposta, cercando in rete l'errore restituito dalla console, ho trovato la seguente soluzione:

    "commentare le righe
    wp_deregister_script('jquery');
    wp_register_script('jquery', 'http ://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');"

    che nel mio caso sono presenti nel file function.php all'interno del template.
    Ho provato e sono spariti entrambi gli errori (sia quello sul menu sia quello sulla visualizzazione dei video nella shadowbox).

    Ti sembra una soluzione "pulita"? O devo comunque provare a sostituire jQuery con una versione più vecchia?

    Grazie ancora 🙂
    Simona


  • User

    Se adesso funziona tutto, ottima soluzione!
    In quel modo "importi" la versione più recente, quindi la mia ipotesi è sbagliata... boh chissà cos'è successo! 🙂