Задать вопрос
@IbraimVeli

Как усовершенствовать код?

Здравствуйте.
Есть код, который запрещает добавлению в корзину товаров разных категорий.
Хочу его усовершенствовать, но не знаю как. Нужно, чтобы была одна категория исключение, которую можно будет добавить в корзину при любых условиях.
Помогите плз.

function is_product_the_same_cat($valid, $product_id, $quantity) 
{
    global $woocommerce; 
    if($woocommerce->cart->cart_contents_count == 0) { 
        return true; 
    } 
    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) { 
        $_product = $values['data']; 
        $terms = get_the_terms( $_product->id, 'product_cat' ); 
        $target_terms = get_the_terms( $product_id, 'product_cat' ); 
        foreach ($terms as $term) { 
            $cat_ids[] = $term->term_id; 
        } 
        foreach ($target_terms as $term) { 
            $target_cat_ids[] = $term->term_id; 
        } 
    } 
    $same_cat = array_intersect($cat_ids, $target_cat_ids); 
    if(count($same_cat) > 0) return $valid; 
    else { 
        wp_safe_redirect(get_permalink( get_page_by_path( 'about' ) ) );
        exit();; 
    } 
}
add_filter( 'woocommerce_add_to_cart_validation', 'is_product_the_same_cat',10,3);
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Средний 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
mad_maximus
@mad_maximus
Для начала почитать про psr, потом избавиться от глобальных переменных и почитать про внедрение зависимостей, классы (если их вообще можно ввести в вп).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы