Вопрос или проблема
Используя WooCommerce, мне нужно разместить количество после описания. Прикрепленный скриншот показывает ожидаемый результат.
Самый простой способ сделать это — поиграть с приоритетами хуков.
В content-single-product.php
есть такой комментарий:
/**
* Хук: woocommerce_single_product_summary.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
* @hooked WC_Structured_Data::generate_product_data() - 60
*/
Так что, чтобы поместить что-то после сводки, необходимо установить приоритет между 20 и 30. Для начала нужно удалить woocommerce_template_single_add_to_cart
, который отображает количество и кнопку добавления в корзину.
remove_action('woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 30);
Затем зарегистрируйте этот же хук, но с более высоким приоритетом, который отображает количество и кнопку добавления в корзину после сводки.
add_action('woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 20);
Поскольку вы хотите переместить только количество, моё решение будет заключаться в повторной регистрации действия… приоритет на ваше усмотрение.
add_action('woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 30);
И с помощью простого CSS скрыть кнопку после сводки и ниже скрыть количество.
Ответ или решение
Чтобы переместить поле для указания количества (количество) после описания продукта в WooCommerce, вы можете воспользоваться хуками WordPress и изменить приоритет действий. Приведу полный алгоритм действий на русском языке, чтобы вы могли легко следовать инструкциям.
- Удаление стандартного действия: Сначала вам нужно удалить стандартное действие WooCommerce, которое выводит кнопку «Добавить в корзину» и поле для выбора количества. Это действие зарегистрировано с приоритетом 30.
Для этого добавьте следующий код в файл functions.php
вашей темы или в плагин:
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
- Добавление действия с измененным приоритетом: После того как стандартное действие было удалено, теперь вы можете добавить его снова с новым приоритетом. В этом случае нам нужно установить приоритет на 21, чтобы он выводился после описания, которое имеет приоритет 20.
Добавьте следующий код в тот же файл functions.php
:
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 21);
Теперь кнопка "Добавить в корзину" и поле для выбора количества будут выводиться сразу после описания продукта.
- Если необходимо скрыть элементы: Если вы хотите переместить только поле количества, а кнопку "Добавить в корзину" оставить на месте, вам понадобится немного CSS, чтобы скрыть кнопку там, где вы не хотите ее видеть.
Используйте следующие CSS-правила, добавив их в «Дополнительные стили» вашей темы или в файл стилей:
.single-product .woocommerce div.product .woocommerce-product-gallery {
display: none; /* Скрыть галерею, если необходимо */
}
.single-product .woocommerce div.product .button {
display: none; /* Скрыть кнопку "Добавить в корзину", если необходимо */
}
- Проверка результата: После внесения всех изменений, обновите страницу продукта на вашем сайте, чтобы убедиться, что количество отображается после описания.
Эта инструкция должна помочь вам решить проблему с размещением количества после описания продукта в WooCommerce. Если у вас возникнут дополнительные вопросы или потребуется более сложная модификация, не стесняйтесь спрашивать.