1

我试图通过在每个产品行<div>之后添加元素来在我的 Woocommerce 商店、产品类别等的每行产品之后添加货架<li>

<div container>
  <div shelf right>
  </div>
  <div shelf left>
  </div>
  <div shelf center>
  </div>
</div>

在每行产品之后(在我的情况下,我将列限制为每行 3 个产品)。我可以通过修改 wc-class-shortcodes.php、product-archive.php 等文件中的循环来实现这一点,但我正在寻找一种方法来做到这一点,而无需更改我孩子之外的文件-主题(所以它不会在我第一次更新文件时中断)。

我已经尝试过使用钩子“woocommerce_after_shop_loop_item”,但它<li>在产品内部添加了我的 div - 这不是我想要的,因为如果我想要在所有产品下方放置一个架子,我需要<li>在下一个。而且在最后一个产品之后,即使它不是一个完整的行。

我已经看过另一个问题:

在 woocommerce 商店的第 3 个产品之后插入一个 div

但是他们的解决方案在我希望不受伤害的 PHP 模板文件之外不起作用。

有没有人有什么建议?

4

1 回答 1

1

尝试这个,

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

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

于 2018-01-03T05:13:12.367 回答