Widget di Wordpress che cambia costantemente


2

Lavoro come Webmaster presso un'azienda canadese di nome Atrium Innovations. Il nostro sito Web aziendale attualmente funziona su WordPress. Diversi plugin sono installati sulla nostra versione di WordPress e uno di questi è stato creato internamente da un webmaster precedente.

Questo plugin mostra i documenti utilizzando un layout della barra laterale e si trova nel pannello A lato secondario (Widget).

Ha funzionato molto bene fino a quando non ha iniziato a passare costantemente alla zona dei widget inattivi, che sembra rimuoverlo dal pannello secondario e farlo scomparire online. Non so perché abbia iniziato a farlo. Potrei aver cambiato qualcosa nel file Functions.php, ma non sono sicuro di aver cambiato il codice (ho appena aperto il file penso). Bene, ciò che è certo è che se cambio schede nel pannello di amministrazione da Aspetto a qualsiasi altra scheda e torno a quella Aspetto, il widget riapparirà inevitabilmente nella sezione Inattiva che è scomparsa dal pannello secondario.

Quale potrebbe essere il problema che lo causa? Devo modificare il codice del plugin o qualsiasi altro codice all'interno del file Functions.php per correggerlo?


1
puoi fare molto con funzioni.php e / o un plug-in di build personalizzato, quindi è molto difficile indovinare la domanda su come rispondere se non
pubblichi il

Risposte:


1

Bene, grazie per il feedback. Immagino di non poter allegare alcun file qui e copiare / incollare l'intero codice di PHP pluggin sarebbe forse un po 'invasivo. Che cosa suggerisci? Esistono buone pratiche per pubblicare codice qui?

Il widget correlato appare nella colonna di sinistra in quella pagina:

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

Vedrai che ci sono un paio di file, a partire dall'Assemblea Generale Annuale .

Ho davvero bisogno che questo funzioni, quindi sto pubblicando comunque il codice di Pluggin:

http://jfverville.com * Descrizione: Affiche les liens rapides de Investors * Versione: 0.1 * Autore: JF Verville * URI dell'autore: http://jfverville.com / // Classe principale Classe Investor_Snapshot estende WP_Widget {// Impostazione del widget . funzione Investor_Snapshot () {/ Impostazioni widget. * / $ widget_ops = array ('classname' => 'investor-snapshot', 'description' => __ ('Widget affichant les liens rapides sezione investisseurs', '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;
}

} // Aggiungi la funzione a widgets_init che caricherà il nostro widget. add_action ('widgets_init', 'load_Investor_Snapshot');

// Registra il nostro widget. funzione load_Investor_Snapshot () {register_widget ('Investor_Snapshot'); }

Grazie ancora

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.