Получите идентификатор продукта из хука действия woocommerce_add_to_cartPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Получите идентификатор продукта из хука действия woocommerce_add_to_cart

Сообщение Anonymous »

Я не понимаю, как передать идентификатор текущего сообщения в пользовательскую функцию перехвата.
Сценарий в коде следующий: при добавлении простого ID продукта = 13, тогда уровень запасов двух других продуктов (ID = 14 и 15) уменьшается программно.
Эти идентификаторы и количества извлекаются из специальной таблицы SQL (а не метаданных). с использованием запроса SQL.
Этот запрос возвращает только элемент массива: array[0 и 1][0] — это идентификатор, элемент [1] — количество
array(2) { [0]=> array(3) { [0]=> string(2) "14" [1]=> string(1) "5" [2]=> строка(1) "5" } [1]=> массив(3) { [0]=> строка(2) "15" [1]=> строка(1) "2" [2]=> строка(1 ) "8" }
Код

Код: Выделить всё

add_action( 'woocommerce_add_to_cart', 'wiz_stock_deduct', 10, 1 );

function wiz_stock_deduct( $product )
{
// retrieve the parts in an array WP query
$thispost_id = $product->ID;

// retrieve parts and quantities
$parts = wiz_checkpoststock ($thispost_id);

if ($parts)
{
for($i=0; $i < count($parts); $i++)
{
$part_id = $parts[$i][0];
$part_quant = $parts[$i][1];
// adjust quantity in stock
//change_part_stock_ammounts ($part_id, $part_quant, 1);
wc_update_product_stock($part_id, $part_quant, 'decrease', false);
}
}
}
Добавление этого массива $parts[] вручную в код работает. Также добавление $thispost_id = 13; работает.
Я предполагаю, что поиск SQL возвращает пустой массив.
Как это сделать? Я добавлю идентификатор продукта в корзину?

Подробнее здесь: https://stackoverflow.com/questions/785 ... ction-hook
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»