Woocommerce在产品排之后添加<div>

时间:2018-01-03 00:32:44

标签: php wordpress woocommerce hook-woocommerce storefront

我尝试在每个产品行的<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模板文件之外工作。

有人有任何建议吗?

1 个答案:

答案 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'>";
};

这段代码对我有用。希望这会对你有所帮助。