Я пытаюсь установить допуск максимального количества варианта на основе значения одного из его настраиваемых полей.
Все хорошо - код работает ниже, однако вместо $quantity = round(9/3);
Я хочу значение $quantity = round($quantity/$weight);
Проблема, с которой я сталкиваюсь (и у меня было много раз в прошлом с другими функциями), заключается в том, что я не могу, судя по всему, получить правильные данные 'Custom_Field'
, Все, что я пробую, возвращает либо boolean false
, либо string Length(0)
. Когда я делаю var_dump($variation_ID)
, я получаю тонну данных, но моего настраиваемого поля там нет.
Это странно, потому что данные извлекаются другими функциями, которые у меня есть - но не в этой ситуации, и я не могу понять, почему.
// On single product pages
add_filter( 'woocommerce_available_variation', 'customizing_available_variation', 10, 3 );
function customizing_available_variation( $args, $product_id, $variation_id ) {
$product = wc_get_product ( $product_id );
$weight = get_post_meta( $variation_ID, 'custom_field', true );
$product_stock = $product_id->get_stock_quantity();
var_dump($variation_id);
$quantity = round(9/3);
if( is_woocommerce() ){
$args['max_qty'] = $quantity;
}
return $args;
}