2016-11-09 40 views
0

Ich benutze Bootstrap mit einem Wordpress-Thema, ich arbeite mit Woocommerce installiert. Auf der Shop-Seite umschließt das Containerelement die Seitenleiste nicht, obwohl sich die anderen Seiten (z. B. Kasse, Einkaufswagen, Mein Konto) in einer Bootstrap-Containerklasse befinden und ordnungsgemäß angezeigt werden. Die Shop-Seite befindet sich jedoch ebenfalls in einem Container und die Seitenleiste zeigt unterhalb des gesamten Inhalts an. Hierwoocommerce Sidebar unter Inhalt

ist der Code für die Shop-Seite

get_header('shop'); ?> 

<?php 
    /** 
    * woocommerce_before_main_content hook. 
    * 
    * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content) 
    * @hooked woocommerce_breadcrumb - 20 
    */ 
    do_action('woocommerce_before_main_content'); 
?> 
<div class="container"> 
<div class="row"> 
    <div class="col-md-8"> 
    <?php if (apply_filters('woocommerce_show_page_title', true)) : ?> 

     <h1 class="page-title"><?php woocommerce_page_title(); ?></h1> 

    <?php endif; ?> 

    <?php 
     /** 
     * woocommerce_archive_description hook. 
     * 
     * @hooked woocommerce_taxonomy_archive_description - 10 
     * @hooked woocommerce_product_archive_description - 10 
     */ 
     do_action('woocommerce_archive_description'); 
    ?> 

    <?php if (have_posts()) : ?> 

     <?php 
      /** 
      * woocommerce_before_shop_loop hook. 
      * 
      * @hooked woocommerce_result_count - 20 
      * @hooked woocommerce_catalog_ordering - 30 
      */ 
      do_action('woocommerce_before_shop_loop'); 
     ?> 

     <?php woocommerce_product_loop_start(); ?> 

      <?php woocommerce_product_subcategories(); ?> 

      <?php while (have_posts()) : the_post(); ?> 

       <?php wc_get_template_part('content', 'product'); ?> 

      <?php endwhile; // end of the loop. ?> 

     <?php woocommerce_product_loop_end(); ?> 

     <?php 
      /** 
      * woocommerce_after_shop_loop hook. 
      * 
      * @hooked woocommerce_pagination - 10 
      */ 
      do_action('woocommerce_after_shop_loop'); 
     ?> 

    <?php elseif (! woocommerce_product_subcategories(array('before' => woocommerce_product_loop_start(false), 'after' => woocommerce_product_loop_end(false)))) : ?> 

     <?php wc_get_template('loop/no-products-found.php'); ?> 

    <?php endif; ?> 


    <?php 
     /** 
     * woocommerce_after_main_content hook. 
     * 
     * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content) 
     */ 
     do_action('woocommerce_after_main_content'); 
    ?> 
    </div> 
    <div class="col-md-4">  
    <?php 
     /** 
     * woocommerce_sidebar hook. 
     * 
     * @hooked woocommerce_get_sidebar - 10 
     */ 
     do_action('woocommerce_sidebar'); 
    ?> 
    </div> 
</div> 
</div> 

<?php get_footer('shop'); ?> 

Antwort

0

Die Seitenleiste unter dem Inhalt fallen div bedeutet, dass Sie HTML-Markup-Fehler haben; das ist normalerweise eine Schließung </div> oder zwei, die am Ende der Seite fehlt. Zusätzliche Öffnung <div> kann auch dazu führen, dass die Sidebar abfällt.

Zählen Sie Ihre Öffnung <div> und </div> ‚s zu schließen und sie in allen Seitenvorlagen und Vorlagenteildateien verwendet passen: header.php, den Shop-Vorlage, footer.php und alle anderen enthalten Template-Dateien.

Oder Quelltext auf der Seite anzeigen und sie abgleichen, die Fehler finden und Korrekturen in der entsprechenden Vorlagendatei vornehmen.

Oder verwenden Sie das W3C Code Validation Tool, um diese https://validator.w3.org/ und andere Markup-Fehler zu finden, von denen Sie vielleicht nichts wissen, und nehmen Sie dann die Korrekturen in der Vorlagendatei vor.