WooCommerce - позволяет клиенту изменять количество добавляемых по умолчанию карт - PullRequest
0 голосов
/ 17 января 2020

Я управляю интернет-магазином, где вы можете купить еду для функций. На веб-сайте мне не хватает функции, которую клиент может предварительно ввести количество гостей, для которых они хотят еду. И затем, когда клиент добавляет продукты на карту с этого момента, это определенная сумма. Я использую Woocommerce в Wordpress. Есть ли простое решение для этого или существующего плагина для Wordpress?

1 Ответ

0 голосов
/ 22 января 2020

Я решил проблему сам. Если кто-нибудь когда-нибудь окажется с той же проблемой. Тогда вот ответ. Нашел решение, используя js, а затем css для поля ввода.

Я также реализовал в js, что мин. допустимая сумма равна 8, а с css поле ввода будет выделено красным, если сумма i ниже 8.

var numberOfEnvelopes = localStorage.getItem('numberOfEnvelopes');
    if(numberOfEnvelopes != null) {
        changeQuantityWoo();
        document.querySelector('input[name="envelopes"]').value = localStorage.getItem('numberOfEnvelopes');
    } else {
		localStorage.setItem('numberOfEnvelopes', 8);
	}
    document.querySelector('input[name="envelopes"]').addEventListener("input", function() {
         console.log(this.value);
        // Save to localstorage.
		if(this.value >= 8 ) {
			localStorage.setItem('numberOfEnvelopes', this.value);
        	changeQuantityWoo();
		}
    });
    // change woocommerce add to cart buttons
    function changeQuantityWoo() {
        let btns = document.querySelectorAll('a[data-quantity]');
        btns.forEach( function(event) {
            event.dataset.quantity = localStorage.getItem('numberOfEnvelopes');
        });
    }
/*Qty field*/
input[name="envelopes"]:invalid {
	color: red;
	border-color: red;
}
...