Widget Wordpress mudando constantemente

Widget Wordpress mudando constantemente

Trabalho como webmaster em uma empresa canadense chamada Atrium Innovations. Nosso site corporativo atualmente roda em WordPress. Vários plugins estão instalados em nossa versão WordPress, e um deles foi construído internamente por um webmaster anterior.

Este plugin mostra documentos usando um layout de barra lateral e está localizado no painel lateral secundário (Widgets).

Tem funcionado muito bem até começar a mudar constantemente para a zona de widgets inativos, o que parece removê-lo do painel secundário e fazê-lo desaparecer online. Não sei por que começou a fazer isso. Posso ter mudado alguma coisa no arquivo functions.php, mas não tenho certeza se mudei o código (acabei de abrir o arquivo, eu acho). Bem, o que é certo é que se eu mudar as guias do painel Admin de Aparência para qualquer outra guia e voltar para a de Aparência, o widget inevitavelmente reaparecerá na seção Inativa que desapareceu do painel Secundário Lateral.

Qual poderia ser o problema que está causando isso? Preciso modificar o código do plugin ou qualquer código do arquivo function.php para corrigir isso?

Responder1

Bem, ok, obrigado pelo feedback. Acho que não consigo anexar nenhum arquivo aqui e copiar/colar todo o código do plug-in PHP seria um pouco invasivo, talvez. O que você sugere? Existe alguma boa prática para postar código aqui?

O widget relacionado aparece na coluna esquerda dessa página:

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

Você verá que há alguns arquivos, começando comReunião geral anual.

Eu realmente preciso fazer isso funcionar, então estou postando o código do plug-in de qualquer maneira:

http://jfverville.com * Descrição: Affiche les liens rapides de Investors * Versão: 0.1 * Autor: JF Verville * URI do autor:http://jfverville.com // // Classe principal class Investor_Snapshot estende WP_Widget { //Configuração do widget. function Investor_Snapshot() { /Configurações de widgets. */ $widget_ops = array( 'classname' => 'investor-snapshot', 'description' => __('Widget que mostra as garantias rápidas da seção de investidores', 'investor-snapshot') );

    /* 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;
}

} //Adiciona função ao widgets_init que carregará nosso widget. add_action('widgets_init', 'load_Investor_Snapshot');

//Cadastre nosso widget. função load_Investor_Snapshot() { register_widget( 'Investor_Snapshot' ); }

obrigado novamente

informação relacionada