Я использую тему Divi с плагином WooCommerce. На странице магазина я хотел бы иметь корректировки количества непосредственно на кнопке добавления в корзину .
Мой веб-сайт
В настоящее время вам нужно нажать на продукт, чтобы перейти на страницу с одним продуктом, и только после этого можно добавить в корзину.
Я попытался выяснить, что производит список продуктов, чтобы я мог его модифицировать, но, как вы, наверное, догадались, я очень новичок в этом.
Как добавить эту функциональность к продуктам на странице магазина?
Совет. Лучше использовать дочернюю тему , чтобы избежать потери изменений, которые вы будете делать, когда тема будет обновлена. Поэтому я предполагаю, что теперь вы будете использовать дочернюю тему.
Зайдите в WooCommerce> Настройки> Продукты (вкладка) > Дисплей (вкладка), в которой вы правильно установили нужное поведение:
В этой активной дочерней теме вы найдете файл function.php
. Если нет, вы скопируете его из родительской темы, удалив весь код внутри, за исключением <?php
в начале (если он существует) и того же самого для ?>
В конце (если он существует).
После этого вы собираетесь использовать woocommerce_loop_add_to_cart_link
фильтр, чтобы добавить количество к вашей кнопке «добавить в корзину» (для простых продуктов). Вы вставьте этот фрагмент кода внутри него:
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 ); function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) { if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) { $html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">'; $html .= woocommerce_quantity_input( array(), $product, false ); $html .= '<button type="submit" class="button alt">' . esc_html( $product->add_to_cart_text() ) . '</button>'; $html .= '</form>'; } return $html; }
Вы также можете настроить этот код, чтобы улучшить ваши потребности …
Ссылка: переопределить шаблон цикла и показать количество рядом с кнопками добавления в корзину
Документация Woocommerce имеет API-интерфейсы. Недавно они обновились до интеграции WP JSON API с версией 2.6. У вас есть два варианта.
1) Сделать заказ через вызов api
2) Сделать запрос ajax и легко изменить количество
http://domain.com/?add-to-cart=Product-Id&variation_id=136&quantity=2
Пример:
http://domain.com/?add-to-cart=97&variation_id=136&attribute_pa_sizes=xl
Если у вас нет вариантов или вариантов, вы можете легко сделать это через
http://domain.com/?add-to-cart=Id&&quantity=Qty
Итак, что я в итоге сделал, добавив одну страницу, добавив к действию в корзину, к крючку для цикла страницы магазина следующим образом:
add_action('woocommerce_after_shop_loop_item', 'woocommerce_template_single_add_to_cart', 30);
Благодарю.