提问者:小点点

如何修改woocommerce_before_cart动作


我试图使我的woocommerce购物车模板显示为完整的12列布局。

现有布局使用bootstrap的col-sm-8列。我需要把它换成col-sm-12。

<main class="main col-sm-8" role="main">
  <div class="page-header">
   <h1>Cart</h1>
  </div>

<div class="woocommerce">...</div>

<div class="woocommerce-info">...</div>

<div class="cart-collaterals">
    // shipping code etc.
</div>
</main>

我查看了此处显示的相关woo模板,并复制了购物车。php模板进入我的主题以覆盖。但是,看起来我需要在购物车之前修改woocommerce\u操作来更改

我可以从购物车中看到。php模板在

global $woocommerce;

wc_print_notices();

do_action( 'woocommerce_before_cart' ); ?>

<form action="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" method="post">

<?php do_action( 'woocommerce_before_cart_table' ); ?>

<table class="shop_table cart" cellspacing="0">enter code here

我是新来的PHP,我的问题是如何修改此操作的输出,以便我可以更改布局为12列?


共3个答案

匿名用户

Woocommerce将内容插入购物车。php进入页面。主题根目录中的php:)

匿名用户

看起来不像woocommerce为“woocommerce\u-before\u-cart”或“woocommerce\u-before\u-cart\u-table”创建操作挂钩,您可以使用has\u action()检查这一点。它们似乎是供开发人员扩展的建议。从购物车中移除它们应该是正确的。php(尽管开发人员可能会在将来的版本或流行插件中使用它们),或者如果您想使用它们,请将其添加到主题函数中。php。

add_action('woocommerce_before_cart', 'sample', 1);

function sample() {
    echo '<h1>hello</h1>';
}

编辑:只需阅读您对上一个答案的响应,看起来您正在使用的主题可能正在其函数中创建挂钩。php文件,查找

add_action('woo_commerce_before_cart', 'sample', X);

“sample”是被调用函数的名称,X是其优先级。您可以修改该函数的输出,也可以向挂钩添加另一个函数。

匿名用户

对于任何使用子主题的人来说,请注意,有时你的父主题已经覆盖了cart.php模板,尤其是像Themeforest产品一样定制的。所以不要复制WooCommerce的原始cart.php,从父主题模板复制它。