Кнопка отображения на переменном продукте Woocommerce, когда для варианта не установлена ​​цена - PullRequest
0 голосов
/ 17 декабря 2018

Некоторые продукты на сайте нельзя купить напрямую, поэтому я заменил «Добавить в корзину» пользовательской кнопкой, которая ссылается на пользовательскую вкладку 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;
}    

Это привело к отображению кнопки для переменного продукта без цены за изменение, но проблема в том, что я вижу кнопку "Добавить в корзину" и мой "Кнопка «Быстрое цитирование» теперь работает как «Добавить в корзину» (вместо прокрутки на якорь) с сообщением

«Извините, этот продукт недоступен. Выберите другую комбинацию.»

Чтобы отобразить это графически, это то, что у меня есть в настоящее время для моего переменного продукта.

enter image description here

Мне нужно, чтобы переменный продукт не действовал по ценекак мой пример для простого продукта без цены.Чтобы скрыть форму «Добавить в корзину» и отобразить кнопку, которая прокручивается до вкладки, но все же позволяет пользователям выбирать параметр, потому что я передаю значение параметра в форму запроса.

Можно ли это сделать для переменного продукта?

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