WPML
Statut
Ouvert
Signalé pour
WPML SEO 2.1.0.1
Extension/thème associé
Rank Math SEO
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Lorsque l’option Remove parent slugs est activée dans l’extension Rank Math SEO avec WooCommerce, cela entraîne un problème avec la traduction des catégories de produits. Si vous passez à une langue secondaire depuis une page de catégorie de produits, celle-ci pointe vers le slug de catégorie non traduit, ce qui mène à une page d’erreur 404.

Solution de contournement

Assurez-vous de disposer d’une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier …/wp-content/plugins/seo-by-rank-math/includes/modules/woocommerce/class-permalink-watcher.php.

  • Cherchez la ligne 124.

  • Remplacez ce code :
    $permalink_structure  = wc_get_permalink_structure();
    $category_base        = trailingslashit( $permalink_structure['category_rewrite_slug'] );
    $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $link, 'lang=' ) );

  • Par :
    $permalink_structure  = wc_get_permalink_structure();
    
    // WPML Workaround for compsupp-6895
    if ( class_exists('Sitepress') ) {
    	$args = array('element_id' => $term->term_id, 'element_type' => $taxonomy );
    	$term_language_info = apply_filters( 'wpml_element_language_details', null, $args );
    	$permalink_structure['category_rewrite_slug'] = apply_filters('wpml_translate_single_string', $permalink_structure['category_rewrite_slug'], 'WordPress', 'URL '.$taxonomy.' tax slug', $term_language_info->language_code );
    }
    
    $category_base        = trailingslashit( $permalink_structure['category_rewrite_slug'] );
    $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $link, 'lang=' ) );

Toutes les anomalies connues →