我在一家名为 Atrium Innovations 的加拿大公司担任网站管理员。我们公司的网站目前运行在 WordPress 上。我们的 WordPress 版本上安装了几个插件,其中一个插件是由前任网站管理员内部开发的。
该插件使用侧边栏布局显示文档,位于辅助侧边面板(小部件)中。
它一直运行良好,直到它开始不断切换到非活动小部件区域,这似乎会将其从辅助侧面板中移除并使其在线消失。我不知道它为什么开始这样做。我可能更改了 functions.php 文件中的某些内容,但我不确定我是否更改了代码(我认为只是打开了文件)。好吧,可以肯定的是,如果我将选项卡从“外观”切换到管理面板中的任何其他选项卡,然后返回到“外观”选项卡,小部件将不可避免地重新出现在从辅助侧面板中消失的非活动部分中。
是什么问题导致了这个问题?我是否必须修改插件代码或 functions.php 文件中的任何代码来纠正这个问题?
答案1
好吧,谢谢您的反馈。我想我无法在此处附加任何文件,并且复制/粘贴整个 PHP 插件的代码可能有点侵犯隐私。您有什么建议?在此处发布代码有什么好的做法吗?
相关小部件出现在该页面的左侧栏中:
http://atrium-innovations.com/en/investors/financial-documents/
你会看到有几个文件,首先是年度股东大会。
我确实需要让它工作,所以无论如何我都会发布插件的代码:
http://jfverville.com * 描述:显示投资者的快速链接 * 版本:0.1 * 作者:JF Verville * 作者 URI:http://jfverville.com / // 主要类 class Investor_Snapshot 扩展了 WP_Widget { // 小部件设置。 function Investor_Snapshot() { /小部件设置。 */ $widget_ops = array( 'classname' => 'investor-snapshot', 'description' => __('小部件向投资者快速发出链接', '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> </p> <p> </p> <p> </p> <p> </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() { register_widget( 'Investor_Snapshot' ); }
再次感谢