如果产品已经添加,我想禁用“添加到购物车”按钮。我设法改变了。测试已添加的产品,以使按钮显示“已添加”。代码或下面的代码。除了文字更改外,我只是不知道如何禁用该按钮。
add_filter('woocommerce_product_add_to_cart_text', 'wc_product_add_to_cart_text', 10, 2 );
add_filter('woocommerce_product_single_add_to_cart_text', 'wc_product_add_to_cart_text', 10, 2 );
function wc_product_add_to_cart_text( $text, $product ){
$product_cart_id = WC()->cart->generate_cart_id( $product->get_id() );
$in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
if ( $in_cart ) {
$text = "Already added";
}
return $text;
}
答案 0 :(得分:1)
当您在WooCommerce中编辑产品时,可以选择“仅单独销售”。我不知道这是否是您要实现的目标,但这可能是一个更合适的解决方案,并且不易出现错误。
如果您根本不使用默认商店页面,则应在商店页面上放置重定向,该重定向始终会将用户重定向到例如您正在商店中使用的页面。
除此之外,here还会发现一个钩子,可用于禁用“添加到购物车”的重定向。
我找到了此代码,以检查您的购物车中是否已有产品。您可以从body_class();获取当前的产品ID。只需将此函数连接到woocommerce_add_to_cart即可。
function woo_in_cart($product_id) {
global $woocommerce;
foreach($woocommerce->cart->get_cart() as $key => $val ) {
$_product = $val['data'];
if($product_id == $_product->id ) {
wp_redirect( $url );
}
}
}