我尝试在每个产品行的<div>
之后添加<li>
元素,在我的Woocommerce商店,产品类别等的每一行产品之后添加商品。
<div container>
<div shelf right>
</div>
<div shelf left>
</div>
<div shelf center>
</div>
</div>
在每一行产品之后(在我的情况下,我将列限制为每行3个产品)。 我能够通过修改wc-class-shortcodes.php,product-archive.php等文件中的循环来实现这一目标,但我正在寻找一种方法来做到这一点,而无需更改我孩子以外的文件 - 主题(所以它第一次更新我的文件时不会中断)。
我已经尝试过使用挂钩&#34; woocommerce_after_shop_loop_item&#34;,但是我在产品的<li>
内加了我的div - 不是我想要的,因为我想要一个架子在下面所有产品,我需要在<li>
之后和下一个产品之前创建它。并且在最后一个产品之后,即使它不是一整行。
我已经看过另一个问题了:
Insert a div after the 3rd product in woocommerce shop
但是他们所做的解决方案并没有在我希望不受伤害的PHP模板文件之外工作。
有人有任何建议吗?
答案 0 :(得分:2)
试试这个,
//Add DIV end element after shop loop item
add_action('woocommerce_after_shop_loop_item', 'action_woocommerce_after_shop_loop_item', 10, 0);
function action_woocommerce_after_shop_loop_item( ) {
echo "</div>";
};
//Add DIV start element before shop loop item
add_action('woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item', 10, 0);
function action_woocommerce_before_shop_loop_item( ) {
echo "<div class='demo_div_wrapper'>";
};
这段代码对我有用。希望这会对你有所帮助。