Некоторые продукты на сайте не могут быть приобретены напрямую, поэтому я заменил «Добавить в корзину» пользовательской кнопкой, которая ссылается на пользовательскую вкладку WooCommerce на странице продукта, содержащей форму запроса.
Это было сделано с помощью woocommerce_empty_price_html
фильтр. Если для товара не установлена цена -> Показать кнопку.
Однако мое решение работает только с простыми продуктами, и мне нужно, чтобы оно работало и с переменными продуктами.
Это мой код, который работает для простого продукта:
add_filter('woocommerce_empty_price_html', 'custom_call_for_price');
function custom_call_for_price() {
$ccfp .= '<a class="switchtab" href="#tab-quick_quote"><button type="submit" id="trigger_cf" class="quote-button single_add_to_cart_button button alt" >Quick Quote</button></a>';
?><script>
jQuery(document).ready(function($){
$("a.switchtab").click(function(e){
e.preventDefault();
$("div.woocommerce-tabs>ul.tabs>li>a[href='" + $(this).attr("href") + "']").click();
$('html, body').animate({
scrollTop: $("div.woocommerce-tabs").offset().top
}, 500);
});
});
</script><?php
return $ccfp;
}
Когда я переключаю свой продукт на продукт с переменными параметрами, поведение WooCommerce по умолчанию скрывает варианты без цен. Поэтому я попытался переопределить это с
add_filter('woocommerce_variation_is_visible', 'product_variation_always_shown', 10, 2);
function product_variation_always_shown($is_visible, $id){
return true;
}
Это привело к тому, что кнопка отображалась для переменного продукта без цены за изменение, но проблема в том, что я вижу кнопку «Добавить в корзину», а моя кнопка «Быстрое предложение» теперь работает как Добавить в корзину (вместо прокрутки к привязке). ) с сообщением
«Извините, этот продукт недоступен. Пожалуйста, выберите другой
сочетание «.
Чтобы отобразить это графически, это то, что у меня сейчас есть в моем переменном продукте.
Мне нужно, чтобы переменный продукт без цены выступил в качестве моего примера для простого продукта без цены. Чтобы скрыть форму «Добавить в корзину» и отобразить кнопку, которая прокручивается до вкладки, но все же позволяет пользователям выбирать параметр, потому что я передаю значение параметра в форму запроса.
Можно ли это сделать для переменного продукта?
Задача ещё не решена.
Других решений пока нет …