- Statut
- Ouvert
- Signalé pour
- WPML Multilingual & Multicurrency for WooCommerce 5.2.1
- Étiquettes de sujet
- Bug, WCML
Aperçu de l’anomalie
Lorsque WPML Multilingue & Multidevise pour WooCommerce est activé, le temps de réponse pour les mises à jour en masse des produits via l’API REST est considérablement plus long.
Solution de contournement
Avant d’utiliser ces solutions de contournement, veuillez prendre en compte les éventuels inconvénients.
Il est possible que toutes vos données ne soient pas synchronisées entre les traductions et qu’elles affichent potentiellement des informations obsolètes.
Pour tenter de remédier aux problèmes de mise à jour des produits, vous pouvez essayer ceci :
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);
Si vous rencontrez toujours des problèmes de lenteur, que votre produit est associé à plusieurs catégories et qu’il possède de nombreuses traductions, vous pouvez essayer de contourner le recomptage des termes
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;
}