Как настроить расположение кнопки «добавить в корзину» WooCommerce на странице товара
Какой файл (или файлы, если их несколько) мне нужно отредактировать, чтобы изменить компоновку страницы товара?
Я хочу внести некоторые базовые изменения в макет стандартной страницы товара Woocommerce. В частности, я хочу разместить блок заказа сразу под ценой и сместить описание вниз. Другими словами, поменять местами краткое описание с блоком заказа (атрибуты, добавить в корзину, артикул и т.д.). Вот скриншот того, что я хочу сделать: http://d.pr/i/YGAY

Вы можете сделать всё, что захотите, используя хук woocommerce_single_product_summary
. Данное действие выполняется внутри файла content-single-product.php
следующим образом:
<?php
/**
* Хук woocommerce_single_product_summary
*
* @hooked woocommerce_template_single_title - 5 (заголовок товара)
* @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 (кнопки поделиться)
*/
do_action( 'woocommerce_single_product_summary' );
?>
Выше приведена документация о подключенных частях, где числа обозначают приоритет и/или порядок выполнения.
Вы можете изменить приоритет/порядок, удалив и заново добавив нужные части в желаемой позиции — вот так:
/** Изменение позиции кнопки "Добавить в корзину" на странице товара в WooCommerce **/
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', 9 );
Поместите этот код в ваш файл functions.php
, чтобы изменения вступили в силу. Теперь кнопка "Добавить в корзину" будет отображаться после заголовка, но до цены. Если вы хотите, чтобы она показывалась после цены — просто измените число в строке add_action()
на значение между 11 и 19. Думаю, вы уже поняли принцип.

Прошло некоторое время, но я благодарю вас за вашу помощь. Это сработало! Как только я разобрался с методом, я внес еще несколько правок. Я также изменил свой первоначальный вопрос, чтобы он лучше соответствовал моей проблеме. Еще раз спасибо @ialocin

@BlakeMiller Всегда пожалуйста, рад что вы разобрались и теперь можете использовать это дальше! Если это правильный ответ, отметьте его галочкой, чтобы все, кто придет к вопросу позже, знали что он верный.

Как я могу разместить это над кнопкой "Добавить в корзину", но ниже вариаций?
