• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Изменение итоговой цены или как искать hook woocommerce

Image CMS

Vicos

Форумчанин
#1
Здравствуйте! Помогите разобраться с такой проблемой, как искать hook'и для изменения и модификации фукционала в woocommerce?
К примеру, требуется изменить итоговую стоимость в зависимости от суммы, проще говоря сделать скидку если товара в корзине больше чем на 10 000.
Шарю по файлам шаблона, встречаю куки типа woocommerce_before_cart_totals, создаю функцию:
Код:
//add_action('woocommerce_before_cart_totals', 'test_func');
function test_func ($args)
{
    var_dump(func_get_args());
    var_dump(func_num_args());
    var_dump($args);
}
Но всё что не перебираю пустое. Как прицепиться к тому что приходит в эти хуки?
Шарю весь woocommerce на наличие этого хука находится только в шаблоне. Исходный код функции так же не могу найти. На GitHub так же отображается только место в шаблоне.
Шарю в https://docs.woocommerce.com/wc-apidocs/hook-docs.html но по каким принципам искать не пойму.
 

searchingman

Гуру
Местный
#4
Вы немного не с той стороны заходите.

1. Можно сидеть и достаточно долго разбирать плагин WooCommerce класс за классом , метод за методом.
В этом случае Вы досконально можете разобраться в логике работы и сделать для себя мини-методичку.
Но сколько на это потратите времени .... ?

2. Можно сформулировать вопрос на анг. языке для Google. Вам покажутся решения (код или готовые плагины).
Вашей задачей останется разобраться с ними и использовать.

Оба способа имеют право на жизнь.
Но, если это не готовый плагин, то читать исходники придется в любом случае.
 

Vicos

Форумчанин
#5
Вы немного не с той стороны заходите.

1. Можно сидеть и достаточно долго разбирать плагин WooCommerce класс за классом , метод за методом.
В этом случае Вы досконально можете разобраться в логике работы и сделать для себя мини-методичку.
Но сколько на это потратите времени .... ?

2. Можно сформулировать вопрос на анг. языке для Google. Вам покажутся решения (код или готовые плагины).
Вашей задачей останется разобраться с ними и использовать.

Оба способа имеют право на жизнь.
Но, если это не готовый плагин, то читать исходники придется в любом случае.
Спасибо! Пошёл по первому пути. Использую в функции
Код:
global $woocommerce
// И даллее шаря по документакции, типа этого.
$cart_subtotal = $woocommerce->cart->subtotal;
var_dump($cart_subtotal);
Познакомился с общими классами и на https://docs.woocommerce.com/wc-apidocs/class-WC_Cart.html шарю и смотрю исходники.
На данный момент возникает вопрос как устанавливать значения, элементарным:
Код:
$discount = $woocommerce->cart->discount_cart = 10;
Вроде и встаёт значение, но применяется ли оно в итоге?
 

Vicos

Форумчанин
#6
а почему просто уже готовым плагином не воспользоваться?
1) Не на всё есть готовые плагины, так как задачи возникают не обычные.
2) Для развития будет лучшим вариантом понять этот WooCommerce изнутри, тем самым упросить себе работу в дальнейшем.
 

searchingman

Гуру
Местный
#7
1) Не на всё есть готовые плагины, так как задачи возникают не обычные.
2) Для развития будет лучшим вариантом понять этот WooCommerce изнутри, тем самым упросить себе работу в дальнейшем.
Для понимания какие хуки используются на конкретной странице и с каким приоритетом советую плагин Query Monitor. Кроме информации по хукам он дает полезную информацию по запросам (количество, время выполнения). Вообщем, полезно для отладки.
 

Vicos

Форумчанин
#8
Для понимания какие хуки используются на конкретной странице и с каким приоритетом советую плагин Query Monitor. Кроме информации по хукам он дает полезную информацию по запросам (количество, время выполнения). Вообщем, полезно для отладки.
Спасибо! Хорошая вещь)
 
Сверху Снизу