WordPress виджет постоянно переключается

256

Я работаю вебмастером в канадской компании Atrium Innovations. Наш корпоративный сайт в настоящее время работает на WordPress. Несколько плагинов установлены в нашей версии WordPress, и один из них был создан внутри предыдущего веб-мастера.

Этот плагин показывает документы с использованием макета боковой панели и находится на панели Secondary Aside (Widgets).

Он работал очень хорошо, пока не начал постоянно переключаться в зону неактивных виджетов, которая, кажется, удаляет его с панели Secondary Aside и заставляет его исчезать в сети. Я не знаю, почему он начал это делать. Возможно, я что-то изменил в файле functions.php, но я не уверен, что изменил код (я думаю, я просто открыл файл). Что ж, то, что точно, это то, что если я переключу вкладки на панели администратора с внешнего вида на любую другую вкладку и вернусь к внешнему виду, виджет неизбежно появится снова в неактивном разделе, который исчез с панели «Вторичное в стороне».

Что может быть причиной этого? Должен ли я изменить код плагина или любой другой код в файле functions.php, чтобы исправить это?

2
вы можете многое сделать с functions.php и / или с пользовательским плагином сборки, так что на этот вопрос очень сложно даже догадаться, как ответить, если вы не разместите свой код jtheman 11 лет назад 1

1 ответ на вопрос

1
Alex

Ну хорошо, спасибо за отзыв. Я полагаю, что я не могу прикрепить сюда какой-либо файл, и копирование / вставка всего кода плагина PHP может быть немного инвазивным. Что ты предлагаешь? Есть ли хорошая практика для размещения кода здесь?

Соответствующий виджет появится в левом столбце на этой странице:

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

Вы увидите, что есть несколько файлов, начиная с годового общего собрания .

Мне действительно нужно, чтобы это заработало, поэтому я все равно публикую код плагина:

http://jfverville.com * Описание: Affiche les liens rapides de Investors * Версия: 0.1 * Автор: JF Verville * URI автора: http://jfverville.com / // Класс основного класса Investor_Snapshot extends WP_Widget {// Настройка виджета, function Investor_Snapshot () {/ Настройки виджета. * / $ widget_ops = array ('classname' => 'investor-snapshot', 'description' => __ ('раздел affisant les liens rapides 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; } 

} // Добавить функцию к widgets_init, которая будет загружать наш виджет. add_action ('widgets_init', 'load_Investor_Snapshot');

// Зарегистрируем наш виджет. function load_Investor_Snapshot ()

еще раз спасибо