Добавляйте пользовательские данные о продукте с помощью javascript при нажатии кнопки «Добавить в корзину».

#wordpress #woocommerce

Вопрос:

Есть ли способ добавить пользовательские данные в корзину с помощью javascript? Данные взяты из параметров URL — запроса. Я пробовал использовать woocommerce_add_cart_item_data и настраивать параметры запросов и т. Д., Но мои данные не заполняются в момент нажатия кнопки «Добавить в корзину». Я думаю, может $( document.body ).trigger( 'adding_to_cart', [ $thisbutton, data ] ); быть, о событии, но я не уверен, как добавить параметры URL в качестве дополнительных данных. Вот мой код до сих пор.

 $(document.body).on('adding_to_cart', function(  button, data ) {
            const queryString = window.location.search;
            const urlParams  = new URLSearchParams(queryString);
            //the url params that i want to add as custom cart data
            var color = urlParams.get('color'),
                hexcode = urlParams.get('hex'),
                extracost = urlParams.get('price')    
        })
 

Комментарии:

1. Является ли JavaScript обязательным требованием?

2. Не совсем. Я прибегнул к javascript, потому woocommerce_add_cart_item_data что возвращает параметры моего запроса как нулевые

3. И вы добавляете в корзину с одной страницы товара? Таким образом, URL-адрес выглядит так, например example.com/product/whateverproduct?color=redamp;hex=112244amp;extracost=11 ?

4. Нет, это не со страницы «Отдельные товары».

5. Хорошо, тогда, если бы вы могли лучше объяснить контекст, а также опубликовать пример URL-адреса, чтобы я мог что-нибудь придумать 🙂