首页 文章

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

提问于
浏览
1

我想通过在每个产品行的 <li> 之后添加 <div> 元素,在我的Woocommerce商店,产品类别等的每一行产品之后添加货架 .

<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> 之后和之前创建它下一个 . 也是在最后一个产品之后,即使它不是一整行 .

我已经看过另一个问题了:

Insert a div after the 3rd product in woocommerce shop

但他们所拥有的解决方案并不能在我希望不受伤害的PHP模板文件之外工作 .

有没有人有什么建议?

1 回答

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

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

相关问题