Очередная серия улучшений (upgrade) плагина WC. Буду добавлять по мере изучения новые решения.
Поиск по SKU (артикулу)
Из коробки WC не ищет по артикулам (SKU). Но достаточно установить плагин Search by SKU for Woocommerce (10 000+) и поиск начинает искать и по артикулам.
Добавить текст перед ценой
Добавляем любой текст перед выводом цены следующей функцией
// Add text before regualr price only function bd_rrp_price_html( $price, $product ) { $price = 'от ' . $price; return $price; } add_filter( 'woocommerce_get_price_html', 'bd_rrp_price_html', 10, 2 ); add_filter( 'woocommerce_cart_product_price' , 'bd_rrp_price_html', 10, 2);
Доработка карусели дополнительных изображений
Если у товара есть дополнительные изображения, то они переключаются кликом по ним (в карточке товара). Если мы хотим чтобы они менялись при наведении (как это сделано во многих современных интернет-магазинах) используем следующий скрипт:
$(document).ready(function(){ $('.flex-control-nav img').hover(function() { $(this).click(); }); });
Переместить отзывы
Отключаем отзывы в табах. Назначаем отзывам новый хук (the_woocommerce_review), который вызываем в нужном месте.
add_action( 'the_woocommerce_review', 'comments_template', 50 );
Изменить иконку lightbox
В новом лайтбоксе (для его раскрытия) установлено изображение увеличительного стекла, но оно стилистически выбивается. Чтобы скрыть изображение и добавить иконку FontAwesome, пропишем следующие стили:
/* Position of magnify icon */ .woocommerce-product-gallery .woocommerce-product-gallery__trigger { position: absolute; top: .875em; right: .875em; display: block; height: 2em; width: 2em; border-radius: 3px; z-index: 99; text-align: center; text-indent: -999px; overflow: hidden; text-decoration: none; } /* Magnify icon */ .woocommerce-product-gallery .woocommerce-product-gallery__trigger:before { font: normal normal normal 1em/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: block; content: "\f00e"; line-height: 2; text-indent: 0; color: #93e100; } .woocommerce-product-gallery .woocommerce-product-gallery__trigger img {display: none!important}
Убрать доставку из корзины
Убираем (не просто скрываем) расчет доставки из корзины.
add_filter( 'woocommerce_cart_needs_shipping', 'filter_woocommerce_cart_needs_shipping_new'); function filter_woocommerce_cart_needs_shipping_new($needs_shipping) { if (is_cart()) return false; return true; }
Если надо убрать и из оформления, то так:
add_filter( 'woocommerce_cart_needs_shipping', 'filter_woocommerce_cart_needs_shipping_new', 10, 1); function filter_woocommerce_cart_needs_shipping_new($needs_shipping) { return false; }[site-socialshare]