Intereting Posts
Передача данных на другую страницу после отправки формы с помощью PHP Почему использование подготовленного оператора mysql более безопасно, чем использование общих функций эвакуации? CodeIgniter: вызов нескольких контроллеров за один вызов Как получить сетевую информацию пользователя с помощью API-интерфейса Facebook? (PHP) PHP Несколько одновременных запросов данных Обработка CSV-файла в PHP, который способен обслуживать MS и UNIX Line Break Асинхронные HTTP-запросы в PHP как извлечь закодированный DER-сертификат из строки base64 Что такое PHPSESSID? простой пример кода PHP для обслуживания backbone.js Как мне зашифровать мои данные в приложении PHP? Автоматизировать VALUE в зависимости от того, сколько входов содержит форму MySQL против MySQLi при использовании PHP Стиль неизученных связей с DOM и xpath Концептуальная проблема Symfony2: общие пакеты по сравнению с конкретными

Страница магазина WooCommerce: ввод количества на кнопку добавления в корзину

Я использую тему 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); 

Благодарю.