Wordpressウィジェットが絶えず切り替わる

Wordpressウィジェットが絶えず切り替わる

私は Atrium Innovations というカナダの会社でウェブマスターとして働いています。当社の企業ウェブサイトは現在 WordPress で運営されています。当社の WordPress バージョンには複数のプラグインがインストールされており、そのうちの 1 つは以前のウェブマスターが社内で構築したものです。

このプラグインは、サイドバー レイアウトを使用してドキュメントを表示し、セカンダリ アサイド パネル (ウィジェット) に配置されます。

非アクティブ ウィジェット ゾーンに頻繁に切り替わるようになるまでは非常にうまく機能していましたが、そのせいでセカンダリ アサイド パネルからウィジェットが削除され、オンラインで消えてしまうようです。なぜそうなったのかはわかりません。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 extends 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>&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() { register_widget( 'Investor_Snapshot' ); }

再度、感謝します

関連情報