Ограничить максимальное количество товаров в зависимости от категории товара в Woocommerce - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь настроить магазин таким образом, чтобы в категории «Образец продукта» в корзину можно было добавить только 2 товара. Я добавил, что этот код работает только на странице товара, а не на странице корзины.

add_action( 'woocommerce_process_product_meta', 'cfwc_save_sample_product_id' );
function cfwc_save_sample_product_id( $post_id ) {
    $product = wc_get_product( $post_id );
    $title = isset( $_POST['custom_text_field_sample_product_id'] ) ? 
    $_POST['custom_text_field_sample_product_id'] : '';
    $product->update_meta_data( 'custom_text_field_sample_product_id', sanitize_text_field( $title ) );
    $product->save();
}

add_filter( 'woocommerce_add_to_cart_validation',  'only_four_items_allowed_add_to_cart', 10, 3 );
function only_four_items_allowed_add_to_cart( $passed, $product_id, $quantity ) 
    {
    $cart_count = WC()->cart->get_cart_contents_count();
    $total_count = $cart_count + $quantity;
    if ( has_term( 'Sample Product','product_cat',$product_id ) && ( $cart_count >= 4 || $total_count > 2 ) ) {
        $passed = false; // Set to false
        $notice = __( "You Can add only 2 sample product , Can't Add More", "woocommerce" ); // Notice to display
    }

    if( ! $passed )
        wc_add_notice( $notice, 'error' );

    return $passed;
}

Но этот код не работает на странице корзины, страница продукта работает отлично. Пожалуйста, помогите мне любое решение для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...