我目前正在使用WooCommerce集成构建自定义WP主题 . 首先是一点背景 . 我的主题是使用Foundation 6.我已经禁用了WooCommerce样式和布局 . 我正在使用覆盖模板,以便我可以集成Foundation .
我的商店页面列出了产品类别,而不是单个产品 . 然后,一旦选择了一个类别,您将获得另一个子类别列表,最后是产品 .
我可以使用以下代码将产品放入4列行中:
环start.php
<div class="row">
归档product.php
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php $counter = 1; while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php
if( $counter % 4 == 0 ) : echo '</div><div class="row">'; endif;
$counter++;
endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
环end.php
</div>
内容product.php
<div <?php if($wcp_last_loop) : post_class('medium-3 columns end'); else : post_class('medium-3 columns'); endif; ?>>
<?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' );
/**
* woocommerce_after_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
/**
* woocommerce_after_shop_loop_item hook.
*
* @hooked woocommerce_template_loop_product_link_close - 5
* @hooked woocommerce_template_loop_add_to_cart - 10
*/
do_action( 'woocommerce_after_shop_loop_item' );
?>
</div>
所以这适用于非类别的产品 . 我知道类别和子类别正在被引入
<?php woocommerce_product_subcategories(); ?>
我也知道我必须使用一个钩子或过滤器来连续放置每四个类别,但我不熟悉WP钩子和过滤器,因此很难找到解决方案 . 我一直在尝试阅读钩子和过滤器,但希望找到一些更具体的帮助,我正在尝试做什么 .
任何建议将不胜感激 .
1 回答
所以我最终找到了一个解决方案,不确定它是否是最好的路线,但它有效 .
对于可能遇到同样问题的其他人来说,这就是我所做的 .
位于wc-template-functions.php中的woocommerce_product_subcategories() . 复制整个功能,包括检查是否存在 .
粘贴到functions.php文件中 . 重命名该函数,例如:
并改为:
至
如果我通过WP钩子找到一种方法,我会发布一个回复,但这是我现在想到的唯一方法 .
另外,我没有详细介绍如何在各个类别中添加.columns类 . 我在content-product_cat.php文件中添加了那些 .