2

我添加了一个在“添加到购物车”按钮旁边添加“查看购物车”按钮的功能。我希望在有人将产品添加到购物车之前禁用该按钮(不显示或变灰) 。

这是我的功能:

    function action_woocommerce_after_add_to_cart_button() {

    echo '<div class="woocommerce-message krank-mesg" role="alert"><a 
    href="./cart/" class="button wc-forward">VIEW CART</a> <p 
    class"woo-fx-added"><span>The New Formula X Driver</span> has 
    been added to your cart.</p></div>';

    add_action( 'woocommerce_after_add_to_cart_button', 
    'action_woocommerce_after_add_to_cart_button', 10, 0 ); 

这是页面: http: //krankfinance.wpengine.com/#product

我希望上面页面上的查看购物车按钮的功能类似于此页面上的查看购物车按钮(将产品添加到购物车后):http: //krankfinance.wpengine.com/shop/easy-pay-formula-x -司机/

已经为此工作了 5 个小时,尽我所能搜索任何内容,但我似乎无法找到答案。没想到会这么难:)

提前致谢

4

2 回答 2

2

这对我有用。

    function action_woocommerce_after_add_to_cart_button() {
// Check if the cart isn't empty.
if ( ! WC()->cart->is_empty() ) {
    echo '<div class="woocommerce-message krank-mesg" role="alert"><a href="./cart/" class="button wc-forward">VIEW CART</a> <p class"woo-fx-added"><span>The New Formula X Driver</span> has been added to your cart.</p></div>';
} else {
  }
    };
    add_action( 'woocommerce_after_add_to_cart_button', 
    'action_woocommerce_after_add_to_cart_button', 10, 0 );

谢谢你的帮助

于 2018-06-05T13:10:36.907 回答
2

上面在 PHP 中接受的解决方案,我的答案也有效(纯 JS/CSS)

您有一个具有类名的 span 对象cart-items- 您可以使用它来检测您的购物车中是否有产品。

首先通过 CSS 隐藏View-Cart 按钮。

然后尝试使用 JS 是这样的:

if(parseInt($('.cart-items').html()) > 0) {
 $('.krank-mesgs').show();
}

更新

由于您的网站包含带有 js 功能的内容,因此您需要检测更改,然后触发如下操作:

Javascript(jQuery):

$("body").on('DOMSubtreeModified', ".cart-items", function() {
  if(parseInt($('.cart-items').html()) > 0) {
   $('.krank-mesgs').show();
  }
});

CSS:

.krank-mesgs {
  display: none;
}
于 2018-06-05T11:22:42.703 回答