Sauter la navigation

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Sun Mon Tue Wed Thu Fri Sat
- 7:00 – 15:00 7:00 – 15:00 7:00 – 15:00 7:00 – 15:00 7:00 – 15:00 -
- - - - - - -

Fuseau horaire du supporter: Pacific/Easter (GMT-05:00)

Ce sujet contient 4 réponses, a 2 voix.

Dernière mise à jour par Ilyes Il y a 1 année et 5 mois.

Assisté par: Ilyes.

Auteur Articles
août 3, 2023 à 2:18 pm

Olkan CHAPUY

Le filtrage par attributs de la page produit fonctionne en français mais pas en anglais

août 3, 2023 à 3:57 pm
août 4, 2023 à 10:51 am #14154425

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Le problème a été transféré à notre équipe de deuxième niveau,

Je reviendrai vers vous dès que j'aurai obtenu une mise à jour,

Je vous remercie pour votre patience,

août 4, 2023 à 11:42 am #14154729

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Après avoir sauvegardé le site, pourriez-vous essayer cette solution (ou partagez avec nous l'accès FTP et nous pourrons le faire pour vous) :

Dans le fichier \woocommerce-multilingual\classes\Attributes\LookupTable.php

remplacer

	public function adjustTermsFilters() {
		add_filter('woocommerce_product_get_attributes', [ $this, 'translateAttributeOptions' ], 10, 2 ) ;
		add_filter('woocommerce_product_variation_get_attributes', [ $this, 'translateVariationTerms' ], 10, 2 ) ;

		return remove_filter('terms_clauses', [ $this->sitepress, 'terms_clauses' ] ) ;
	}

avec

	public function adjustTermsFilters() {
		add_filter('woocommerce_product_get_attributes', [ $this, 'translateAttributeOptions' ], 10, 2 ) ;
		add_filter('woocommerce_product_variation_get_attributes', [ $this, 'translateVariationTerms' ], 10, 2 ) ;

		remove_filter('get_terms_args', array( $this->sitepress, 'get_terms_args_filter' ) ) ;
		remove_filter('get_term', array( $this->sitepress, 'get_term_adjust_id' ), 1 ) ;
		return remove_filter('terms_clauses', [ $this->sitepress, 'terms_clauses' ] ) ;
	}

Et remplacez

	private function restoreTermsFilters( $hasTermsClausesFilter ) {
		if ( $hasTermsClausesFilter ) {
			add_filter( 'terms_clauses', [ $this->sitepress, 'terms_clauses' ], 10, 3 ) ;
		}

		remove_filter('woocommerce_product_get_attributes', [ $this, 'translateAttributeOptions' ] ) ;
		remove_filter('woocommerce_product_variation_get_attributes', [ $this, 'translateVariationTerms' ] ) ;
	}

avec

	private function restoreTermsFilters( $hasTermsClausesFilter ) {
		if ( $hasTermsClausesFilter ) {
			add_filter( 'terms_clauses', [ $this->sitepress, 'terms_clauses' ], 10, 3 ) ;
			add_filter('get_terms_args', array( $this->sitepress, 'get_terms_args_filter' ) ) ;
			add_filter('get_term', array( $this->sitepress, 'get_term_adjust_id' ), 1 ) ;
		}

		remove_filter('woocommerce_product_get_attributes', [ $this, 'translateAttributeOptions' ] ) ;
		remove_filter('woocommerce_product_variation_get_attributes', [ $this, 'translateVariationTerms' ] ) ;
	}

Nous avons également désactivé l'option "Utiliser la table de recherche des attributs du produit pour le filtrage du catalogue. "dans les paramètres du WC.

Faites-nous savoir si cela a fonctionné, sinon, nous aurions un accès FTP à votre site.

Cordialement,

août 4, 2023 à 12:22 pm
août 4, 2023 à 4:35 pm #14156085

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Cela peut prendre un peu plus de temps que prévu, maintenant que nous avons l'accès FTP, nous reviendrons vers vous une fois que nous aurons trouvé une solution et que nous l'aurons testée nous-mêmes.

Nous vous remercions pour votre patience,

août 10, 2023 à 3:40 pm #14184007

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Je vous remercie de votre patience,

Il s'avère que vous avez traduit l'attribut taxonomy slug de pa_couleur-olkan-2 en pa_color-en-olkan-2. Ce n'est pas correct.

Il ne faut jamais traduire le slug de taxonomie qui commence par pa_. Nous autorisons la traduction du slug à partir de WooCommerce > WCML > Store URLs. Et cela n'est possible que si l'attribut a activé la fonction "enable archives". Sinon, aucune traduction n'est nécessaire.

En outre, c'est un thème personnalisé que vous avez codé la demande de filtre qui a également traduit le slug sur la base de label.
Le label peut être traduit, mais l'attribut slug ne peut pas être dérivé du label.

En bref, voici comment nous avons résolu le problème :
1- Supprimer la chaîne qui a été traduite dans ST : lien caché
2- Mettre à jour le code pour avoir la même taxonomy slug dans toutes les langues. Pour l'instant, j'ai désactivé notre filtre qui est utilisé pour traduire le label.
Mettre à jour le code de façon à ce que le label puisse être traduit, mais que le slug reste le même dans toutes les langues : lien caché

L'équipe de deuxième niveau a effectué ces changements sur le site et je peux voir que cela fonctionne : lien caché

Le sujet '[Fermé] Filtrage par attributs de la page produit fonctionne en français mais pas en anglais' est fermé aux nouvelles réponses.