У меня небольшой вопрос: я использую и импортирую программное обеспечение для синхронизации своей торговли, но все, что мне нужно, чтобы установить запас продукта, - это массив, который содержит все доступные размеры продукта.
Например, у меня есть этот массив: 36,37,39
и я знаю, что эти размеры есть в наличии.
Продукт имеет четыре размера: 36,37,38,39
поэтому, когда я запускаю sincronization, я знаю, что сравнение 2 вариантов массива 38 отсутствует в массиве и должно быть установлено на складе.
Я написал эту функцию, чтобы установить во время импорта, есть ли вариант на складе или нет ... но у меня есть некоторые проблемы, это функция:
<?php
function test_save_post($id) {
//if ( $is_update ) {
$prod = wc_get_product( $id );
if ( get_class( $prod ) == 'WC_Product_Variable' ) {
$value = get_post_meta( $id, '_ebay_ean', true );
$str = array(get_post_meta($id, '_str_taglie', true));
$get_idpost = get_post_meta( $id, '_get_id_post', true );
$count=0;
foreach ( $prod->get_available_variations() as $var ) {
$count++;
$strTemp = get_post_meta($var['variation_id'], '_sku');
if($strTemp !== '') {
update_post_meta( $var['variation_id'], '_ebay_ean', $value );
update_post_meta( $var['variation_id'], '_sku', $value . '-' . $var['variation_id'] . '-' . $count );
global $product;
$taglia_attuale = $product->get_attribute( 'pa_taglia' );
if (in_array($taglia_attuale, $str, false))
{
update_post_meta( $var['variation_id'], '_stock', '1' );
}
else
{
update_post_meta( $var['variation_id'], '_stock', '0' );
}
}
}
}
}
add_action( 'pmxi_saved_post', 'test_save_post', 10, 3 );
Некоторые предложения?