- Statut
- Résolu
- Signalé pour
- WPML Multilingual & Multicurrency for WooCommerce 4.6.1
- Résolu dans
- 4.6.2.1
Aperçu de l’anomalie
Il est possible de rencontrer un problème avec WPML Multilingual & Multidevise pour WooCommerce 4.6.1 et potentiellement avec les versions publiées antérieures.
L’erreur se manifeste par le délai d’attente suivant :
PHP Fatal error: Maximum execution time of 60 seconds exceeded in /wp-includes/class-wp-hook.php on line 288
Solution de contournement
Le problème est causé par la présence d’une clé méta _thumbnail_id dont la valeur est égale à 0 (zéro).
Vous pouvez le vérifier avec cette requête :
SELECT * FROM `wp_postmeta` WHERE `meta_key` = '_thumbnail_id' AND `meta_value` = '0';
Comme solution de contournement, vous pouvez supprimer ces valeurs de la base de données OU appliquer le correctif suivant :
1. Accédez au dossier ../wp-content/plugins/woocommerce-multilingual/inc/ et modifiez le fichier class-wcml-products.php.
2. Trouvez la ligne suivante :
if( is_product() && !$this->woocommerce_wpml->products->is_original_product( $product_id ) ){
3. Remplacez cette ligne par :
$is_original_product = $this->woocommerce_wpml->products->is_original_product( $product_id );
if( is_product() && !$is_original_product ){
4. Ensuite, trouvez la ligne suivante :
} elseif ( '_product_image_gallery' === $meta_key ) {
5. Remplacez cette ligne par :
} elseif ( '_product_image_gallery' === $meta_key && !$is_original_product ) {
6. Enfin, trouvez la ligne suivante :
} elseif ( '_thumbnail_id' === $meta_key ) {
7. Remplacez cette ligne par :
} elseif ( '_thumbnail_id' === $meta_key && !$is_original_product ) {
8. Enregistrez le fichier et testez.