Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 禁止在Woocommerce中从购物车中删除_Wordpress_Woocommerce_Checkout - Fatal编程技术网

Wordpress 禁止在Woocommerce中从购物车中删除

Wordpress 禁止在Woocommerce中从购物车中删除,wordpress,woocommerce,checkout,Wordpress,Woocommerce,Checkout,我在Woocommerce中有一个名为“必需”的产品类别,该类别中的任何产品都必须随每次订单一起订购。主要是法律费用 有没有办法防止这些产品从购物车中移除?问题是他们中的一些人有一个数量,他们可以订购一个或多个,但至少有一个。。。购物车中的数量框允许0,并且有一个从购物车X中删除的选项 我有一个购物车内容循环,可以看到每个购物车的类别。。。但如何防止其被删除或数量设置为0 add_action( 'woocommerce_check_cart_items', 'gs_set_min_qty_pe

我在Woocommerce中有一个名为“必需”的产品类别,该类别中的任何产品都必须随每次订单一起订购。主要是法律费用

有没有办法防止这些产品从购物车中移除?问题是他们中的一些人有一个数量,他们可以订购一个或多个,但至少有一个。。。购物车中的数量框允许0,并且有一个从购物车X中删除的选项

我有一个购物车内容循环,可以看到每个购物车的类别。。。但如何防止其被删除或数量设置为0

add_action( 'woocommerce_check_cart_items', 'gs_set_min_qty_per_product' );
function gs_set_min_qty_per_product() {
    // Only run in the Cart or Checkout pages
    if( is_cart() || is_checkout() ) {  
        global $woocommerce;

        $count = $woocommerce->cart->cart_contents_count;

        if ($count > 0) {
            foreach ($woocommerce->cart->get_cart() as $cart_item_key => $values) {
                $_product = $values['data'];
                $terms = get_the_terms( $_product->id, 'product_cat' );

                foreach ($terms as $term) {
                    if (strtolower($term->name) == 'required') {

                }
            }
        }
    }
}
我不知道;I don’我不希望他们能够删除它,然后告诉他们,如果不重新添加它,他们就无法继续,因为我们的购物车是分步骤构建的,他们必须重新开始


有没有办法拦截remove\u from-cart()钩子,不允许从该类别中删除任何内容?

您可以筛选
woocommerce\u cart\u item\u remove\u link
以从购物车中删除链接。像这样的事情可能会有帮助。但如果有人知道链接,他们仍然可以手动输入

add_filter( 'woocommerce_cart_item_remove_link', 'so_38622032_remove_link', 10, 2 );
function so_38622032_remove_link( $link, $cart_item_key ){
    if( WC()->cart->find_product_in_cart( $cart_item_key ) ){
        $cart_item = WC()->cart->cart_contents[ $cart_item_key ];
        $product_id = $cart_item['product_id'];
        if( has_term( 'required', 'product_cat', $product_id ) ){
            $link = '';
        }
    }
    return $link;
}

是的,今晚早些时候我做了类似的事情,我还添加了一个钩子,将所需的产品添加回购物车中,因为它们不知怎么被移除了。我很快就会发布代码。我知道这已经是一年多以前的事了,但是你有没有可能分享你的最终代码?