Сценарий в коде следующий: при добавлении простого 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);
}
}
}
Я предполагаю, что поиск SQL возвращает пустой массив.
Как это сделать? Я добавлю идентификатор продукта в корзину?
Подробнее здесь: https://stackoverflow.com/questions/785 ... ction-hook
Мобильная версия