if ( '' === $sku ) { ++$skipped; $reasons['no_sku'] = ( $reasons['no_sku'] ?? 0 ) + 1; $log_rows[] = array_merge( $row_base, array( 'result' => 'skipped', 'reason_code' => 'no_sku', 'details' => '', ) ); } elseif ( ! isset( $pricing[ $sku ] ) ) { ++$skipped; $reasons['not_in_api'] = ( $reasons['not_in_api'] ?? 0 ) + 1; $log_rows[] = array_merge( $row_base, array( 'result' => 'skipped', 'reason_code' => 'not_in_api', 'details' => '', ) ); } elseif ( ! mw_somnart_apply_stock( $product, $pricing[ $sku ] ) ) { ++$skipped; $reasons['invalid_stock'] = ( $reasons['invalid_stock'] ?? 0 ) + 1; $log_rows[] = array_merge( $row_base, array( 'result' => 'skipped', 'reason_code' => 'invalid_stock', 'details' => '', ) ); } else { $product->save(); wc_delete_product_transients( $product_id ); ++$updated; $reasons['updated'] = ( $reasons['updated'] ?? 0 ) + 1; $log_rows[] = array_merge( $row_base, array( 'result' => 'updated', 'reason_code' => 'updated', 'details' => $product->get_manage_stock() ? 'stock=' . (string) (int) $product->get_stock_quantity() : 'stock=unlimited;' . $product->get_stock_status(), ) ); } if ( is_callable( $on_progress ) && ( 0 === $index % 10 || $index === $total ) ) { $mapped = (int) round( ( $total * 0.4 ) + ( $total * 0.6 * $index ) / max( 1, $total ) ); call_user_func( $on_progress, min( $total, $mapped ), max( 1, $total ), sprintf( /* translators: 1: current product, 2: total products */ __( 'Se actualizează stocurile (%1$d/%2$d)…', 'somnart-dropshipping' ), $index, $total ) ); } } $log = mw_somnart_write_sync_log( 'stock', array( 'updated' => $updated, 'skipped' => $skipped, 'reasons' => $reasons, ), $log_rows ); if ( $return_stats ) { return array( 'updated' => $updated, 'skipped' => $skipped, 'reasons' => $reasons, 'log_file' => is_wp_error( $log ) ? '' : ( $log['file'] ?? '' ), 'log_name' => is_wp_error( $log ) ? '' : ( $log['basename'] ?? '' ), ); } } add_shortcode('test_dbx_rest_api', 'test_dbx_rest_api'); function test_dbx_rest_api() { if ( ! current_user_can( 'manage_woocommerce' ) ) { return ''; } $settings = (array) get_option( 'somnart-dropshipping-plugin-settings' ); $consumer_key = $settings['somnart_dropshipping_ck'] ?? ''; $consumer_secret = $settings['somnart_dropshipping_cs'] ?? ''; if ( empty( $consumer_key ) || empty( $consumer_secret ) ) { return esc_html__( 'Cheile API B2B nu sunt configurate.', 'somnart-dropshipping' ); } $sku = 'PERNA.GV.3.IN1.MODEL.A.01'; $catalog = mw_somnart_get_b2b_product( mw_connect_somnart_b2b( $consumer_key, $consumer_secret ), $sku ); $pricing = mw_somnart_fetch_pricing( mw_connect_somnart_pricing( $consumer_key, $consumer_secret ), array( $sku ) ); return sprintf( '%s %s', $catalog ? esc_html__( 'Catalogul B2B răspunde.', 'somnart-dropshipping' ) : esc_html__( 'Catalogul B2B nu a putut fi citit.', 'somnart-dropshipping' ), isset( $pricing[ $sku ] ) ? esc_html__( 'Endpoint-ul de prețuri răspunde.', 'somnart-dropshipping' ) : esc_html__( 'Endpoint-ul de prețuri nu a putut fi citit.', 'somnart-dropshipping' ) ); }
No account yet?
Create an Account