WPML
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.

Toutes les anomalies connues →