• Tag Archives plugins
  • Error javascript provocat pel plugin Ozh’ Admin Drop Down Menu de WordPress

    No sé si hi ha alguna incompatibilitat entre els plugins RB Internal Linker i Ozh’ Admin Drop Down Menu de WordPress, però ahir vaig actualitzar el primer a la versió 2.0.11 i ara està fallant. El problema l’he detectat amb Firebug (quina eina més meravellosa!), que mostrava el següent error de javascript:

    syntax error
    var oam_toomanypluygins = ;\n

    He cercat directament al directori de plugins quin fitxer contenia aquest nom de variable, des d’una connexió ssh al servidor, així:

    egrep -r oam_toomanypluygins *

    Han sortit tres resultats. El problema es troba al fitxer ozh-admin-drop-down-menu/inc/core.php, a la funció en llenguatge PHP wp_ozh_adminmenu_js().
    A la línia:

    $toomanyplugins = $wp_ozh_adminmenu['too_many_plugins'];

    veiem que la variable PHP $toomanyplugins és assignada i més endavant inserida directament entre codi javascript. Ràpidament ens podem adonar que si la variable és buida s’introduïrà un error al codi javascript perquè faltarà algun valor entre els caràcters = i ;

    var oam_toomanypluygins = ;

    Per resoldre-ho, després de la línia PHP anteriorment esmentada he afegit:

    if (empty($toomanyplugins)) {
        $defaults = wp_ozh_adminmenu_defaults();
        $toomanyplugins = $defaults['too_many_plugins'];
    }
    

    D’aquesta manera comprovem si la variable és buida i li donem el valor per defecte abans d’inserir-la entre codi javascript.

    Resolt! 🙂

    Actualització (01-03-2010): a vegades les coses serveixen per més persones, per això és bo compartir. El desenvolupador del plugin m’ha contestat:

    Hello Jaume
    Nice catch, thanks for this! I’ve updated the plugin to deal with this case
    Cheers,
    Ozh

    GD Star Rating
    loading...