2017-02-08 34 views
0

在我的分类页面WooCommerce有列表中显示20产品。如何在WooCommerce的产品列表中添加div?

我想将产品列表增加到40,并在添加20个产品后添加div。

任何人都可以请帮忙。

这里是我的归档product.php代码

<?php 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

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'); 
?> 

    <?php if (apply_filters('woocommerce_show_page_title', false)) : ?> 

     <h1 class="page-title" style="display:none;"><?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'); 
     ?> 


     <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 
     <div class="content-box"> 
     <?php woocommerce_product_loop_start(); ?> 

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

      ?> 
       <?php if (is_search()) { ?> 
        <?php wc_get_template_part('content', 'search'); ?> 
       <?php }else{ ?> 
       <?php wc_get_template_part('content', 'product'); 
      } 



       ?> 


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

      ?> 

      <?php woocommerce_product_loop_end(); ?> 

     </div></div> 


     <?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'); 
?> 

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

这里是我的内容product.php代码

<?php 
/** 
* The template for displaying product content within loops 
* 
* This template can be overridden by copying it to yourtheme/woocommerce/content-product.php. 
* 
* HOWEVER, on occasion WooCommerce will need to update template files and you 
* (the theme developer) will need to copy the new files to your theme to 
* maintain compatibility. We try to do this as little as possible, but it does 
* happen. When this occurs the version of the template file will be bumped and 
* the readme will list any important changes. 
* 
* @see  https://docs.woocommerce.com/document/template-structure/ 
* @author WooThemes 
* @package WooCommerce/Templates 
* @version 2.6.1 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

global $product; 

// Ensure visibility 
if (empty($product) || ! $product->is_visible()) { 
    return; 
} 
?> 

<?php 
/** 
* woocommerce_before_shop_loop_item hook. 
* 
* @hooked woocommerce_template_loop_product_link_open - 10 
*/ 
do_action('woocommerce_before_shop_loop_item'); 

/** 
* woocommerce_before_shop_loop_item_title hook. 
* 
* @hooked woocommerce_show_product_loop_sale_flash - 10 
* @hooked woocommerce_template_loop_product_thumbnail - 10 
*/ 
do_action('woocommerce_before_shop_loop_item_title'); 

/** 
* woocommerce_shop_loop_item_title hook. 
* 
* @hooked woocommerce_template_loop_product_title - 10 
*/ 
//do_action('woocommerce_shop_loop_item_title');?> 

<tr <?php post_class(); ?>> 
    <td class="slno"> 
    </td> 
<td><?php do_action('woocommerce_shop_loop_item_title'); ?></td> 
<td class="des"> 
    <?php do_action('woocommerce_after_shop_loop_item'); ?> 
?>

回答

0

添加这在你的主题,或者在您的自定义插件function.php增加产品每页:

add_filter('loop_shop_per_page', create_function('$cols', 'return 40;'), 20); 

这里是“\可湿性粉剂内容\插件\ woocommerce \模板\归档product.php”的样本,如果你编辑直接核心,否则如果你通过将templates目录复制到当前主题目录覆盖它,路径将是“\ mytheme \ woocommerce \ archive-product.php”

请检查archive-product.php的内容是否正确只是在上面和下面的while (have_posts()) : the_post();

<?php 
/** 
* The Template for displaying product archives, including the main shop page which is a post type archive 
* 
* This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php. 
* 
* HOWEVER, on occasion WooCommerce will need to update template files and you 
* (the theme developer) will need to copy the new files to your theme to 
* maintain compatibility. We try to do this as little as possible, but it does 
* happen. When this occurs the version of the template file will be bumped and 
* the readme will list any important changes. 
* 
* @see   https://docs.woocommerce.com/document/template-structure/ 
* @author  WooThemes 
* @package  WooCommerce/Templates 
* @version  2.0.0 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

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'); 
?> 

    <?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 $productIndex = 0; $addDivAt = 20 ?> 
      <?php while (have_posts()) : the_post(); ?> 

       <?php wc_get_template_part('content', 'product'); ?> 
        <?php $productIndex++; ?> 
        <?php if($productIndex == $addDivAt): ?> 
        <div>TRUE</div> 
        <?php endif; ?> 

      <?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'); 
?> 

<?php 
    /** 
    * woocommerce_sidebar hook. 
    * 
    * @hooked woocommerce_get_sidebar - 10 
    */ 
    do_action('woocommerce_sidebar'); 
?> 
+0

如何在第20个产品之后插入带有内容的div?你能帮忙这个@gvgvgvijayan – Lipsa

+0

@Lipsa请检查archive-product.php的内容,正好在'while(have_posts()):the_post();' – gvgvgvijayan

+0

的上面和下面我只是想知道我在我的存档中发生了什么变化-product.php没有反映在前端...但产品上市是... – Lipsa

相关问题