El widget de WordPress cambia constantemente

El widget de WordPress cambia constantemente

Trabajo como webmaster en una empresa canadiense llamada Atrium Innovations. Nuestro sitio web corporativo actualmente funciona con WordPress. Hay varios complementos instalados en nuestra versión de WordPress, y uno de ellos fue creado internamente por un webmaster anterior.

Este complemento muestra documentos usando un diseño de barra lateral y está ubicado en el panel secundario (Widgets).

Ha estado funcionando muy bien hasta que comenzó a cambiar constantemente a la zona de Widgets inactivos, lo que parece eliminarlo del panel secundario y hacerlo desaparecer en línea. No sé por qué empezó a hacer eso. Es posible que haya cambiado algo en el archivo funciones.php, pero no estoy seguro de haber cambiado el código (creo que acabo de abrir el archivo). Bueno, lo que es seguro es que si cambio de pestaña en el panel de administración desde Apariencia a cualquier otra pestaña y vuelvo a la de Apariencia, el widget inevitablemente reaparecerá en la sección Inactiva que desapareció del panel Secundario.

¿Cuál podría ser el problema que causa eso? ¿Tengo que modificar el código del complemento o cualquier código dentro del archivo funciones.php para corregirlo?

Respuesta1

Bueno, está bien, gracias por los comentarios. Supongo que no puedo adjuntar ningún archivo aquí y copiar y pegar todo el código del complemento PHP tal vez sería un poco invasivo. ¿Que sugieres? ¿Existe alguna buena práctica para publicar código aquí?

El widget relacionado aparece en la columna izquierda de esa página:

http://atrium-innovations.com/en/investors/financial-documents/

Verás que hay un par de archivos, comenzando conReunión general anual.

Realmente necesito que esto funcione, así que publicaré el código del complemento de todos modos:

http://jfverville.com * Descripción: Affiche les gravámenes rapides de Investors * Versión: 0.1 * Autor: JF Verville * Autor URI:http://jfverville.com // // Clase principal clase Investor_Snapshot extiende WP_Widget { //Configuración del widget. función Investor_Snapshot() { /Configuración de widgets. */ $widget_ops = array( 'classname' => 'instantánea del inversor', 'descripción' => __('Widget que muestra los gravámenes rápidos de la sección de inversores', 'instantánea del inversor') );

    /* Widget control settings. */
    $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'investor-snapshot' );

    /* Create the widget. */
    $this->WP_Widget( 'investor-snapshot', __('Apercu investisseurs', 'investor-snapshot'), $widget_ops, $control_ops );
}   
/**
 * Displays the widget settings controls on the widget panel.
 * Make use of the get_field_id() and get_field_name() function
 */
function form( $instance ) {
    /* Set up some default widget settings: ('Label par defaut', 'Val. par defaut) */
    $defaults = array('title' => __('Titre', 'titre'));
    $instance = wp_parse_args( (array) $instance, $defaults ); ?>
    <!-- Widget Title: Text Input -->
    <?php if ( ICL_LANGUAGE_CODE == "fr"): ?>
<p>&nbsp;</p>     <p>&nbsp;</p>   <p>&nbsp;</p>   <p>&nbsp;</p>      
     <h3>DOCUMENTS</h3>            
        <?php else: ?>
       <h3>DOCUMENTS</h3>
        <?php endif; ?>
<?php
}
/**
 * Update the widget settings.
 */
function update( $new_instance, $old_instance ) {
    $instance = $old_instance;

    /* Strip tags to remove HTML (important for text inputs). */
    $instance['title'] = strip_tags( $new_instance['title'] );
    return $instance;
}
/**
 * How to display the widget on the screen.
 */
function widget( $args, $instance ) {
    extract( $args );       
    // Use wp_list_pages to display parent and all child pages all generations (a tree with parent)
    $ancestors=get_post_ancestors(get_the_id());
    $parent = ($ancestors[sizeof($ancestors)-1] == "") ? get_the_id() : $ancestors[sizeof($ancestors)-1];
    $type_page = get_post_type();
    /* Our variables from the widget settings. */
    $title = apply_filters('widget_title', $instance['title'] );
    /* Before widget (defined by themes). */
    echo $before_widget;
    /* Display the widget title if one was input (before and after defined by themes). */
    if ( $title )
        echo $before_title . $title . $after_title;
    /* Start of the widget's core */
    if(ICL_LANGUAGE_CODE == "fr"){
    ?>
    <ul>
    <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentations-et-evenements/AGM-2012-ATRIUM-FR.pdf" target="_blank">Assemblée annuelle des actionnaires</a></li>
    <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentations-et-evenements/20120810_analyst_presentation_q2_2012.pdf" target="_blank">Présentation trimestrielle (anglais seulement)</a></li>
    <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentations-et-evenements/ATR_FS12_Q2_fr_v3FINAL.pdf" target="_blank">Fiche aux investisseurs</a></li>
    <li class="lien_ext"><a href="http://www.atrium-innovations.com/brochure_fr/" target="_blank">Brochure corporative</a></li>
    </ul>
    <?php
    } else {
    ?>
    <ul>
    <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentation-and-events/AGM-2012-ATRIUM-EN.pdf" target="_blank">Annual General Meeting</a></li>
     <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentation-and-events/20120810_analyst_presentation_q2_2012.pdf" target="_blank">Quarterly Presentation</a></li>
    <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentation-and-events/ATR_FS12_Q2_en_v3FINAL.pdf" target="_blank">Investor Fact Sheet</a></li>
    <li class="lien_pdf"><a href="<?php echo get_stylesheet_directory_uri(); ?>/uploads/documents/presentation-and-events/ATB-Investor-Presentation-August2012-Final.pdf" target="_blank">Investor Presentation</a></li>
    <li class="lien_ext"><a href="http://www.atrium-innovations.com/brochure_en/" target="_blank">Corporate Brochure</a></li>
    </ul>       
    <?php
    }
    /* End of the widget's core */
    /* After widget (defined by themes). */
    echo $after_widget;
}

} //Agregar función a widgets_init que cargará nuestro widget. add_action('widgets_init', 'load_Investor_Snapshot');

//Registra nuestro widget. función load_Investor_Snapshot() { registrar_widget( 'Investor_Snapshot' ); }

gracias de nuevo

información relacionada