- Status
- Aberto
- Relatado para
- WPML Multilingual & Multicurrency for WooCommerce 5.2.1
- Tags de tópico
- Bug, WCML
Visão geral do problema
Quando o WPML Multilingual & Multicurrency for WooCommerce é ativado, o tempo de resposta para atualizações em massa de produtos via REST-API é significativamente maior.
Solução alternativa
Antes de usar esta solução alternativa, lembre-se de considerar as possíveis ressalvas.
É possível que nem todos os seus dados sejam sincronizados entre as traduções e potencialmente mostrem informações desatualizadas.
Para tentar resolver os problemas de atualização de produtos, você pode tentar:
add_filter('rest_pre_dispatch', function ($result, $server, $request) {
global $woocommerce_wpml;
$params = serialize($request->get_params());
if (str_contains($params, 'stock_quantity')){
remove_filter( 'get_post_metadata', [ $woocommerce_wpml->products, 'filter_product_data' ] );
}
return $result;
}, 10, 3);
Se você ainda tiver problemas de lentidão e seu produto estiver atribuído a várias categorias e tiver muitas traduções, você pode tentar ignorar a recontagem de termos
add_filter( 'woocommerce_product_recount_terms', 'bypass_term_recount_on_rest' );
function bypass_term_recount_on_rest( $value ){
if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
$value = false;
}
return $value;
}