Эта тема поднималась, очень много раз! Информации достаточно! Как я решил данный вопрос:
/**
* Вывод и выбор вариантов продукта на странице каталога
*/
function iconic_change_loop_add_to_cart() {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'iconic_template_loop_add_to_cart', 5 );
}
add_action( 'init', 'iconic_change_loop_add_to_cart', 10 );
/**
* Используйте одну кнопку добавления в корзину для различных товаров.
*/
function iconic_template_loop_add_to_cart() {
global $product;
if ( ! $product->is_type( 'variable' ) ) {
woocommerce_template_loop_add_to_cart();
return;
}
woocommerce_template_single_add_to_cart();
}
Опыт в написании кода у меня нулевой, оно и видно) взял код из интернета и методом проб и ошибок корректировал.
query monitor вроде не ругается.