Passer au contenu Passer à la barre latérale

Open

Reported for: WPML SEO 2.1.0.1

Topic Tags: Compatibility

Overview of the issue

When the Remove parent slugs option is enabled in the Rank Math SEO plugin with WooCommerce, it leads to a problem with the translation of product categories. If you switch to a secondary language from a product category page, it points to the untranslated category slug, leading to a 404 error page.

Workaround

Please, make sure of having a full backup of your site before proceeding.

  • Open …/wp-content/plugins/seo-by-rank-math/includes/modules/woocommerce/class-permalink-watcher.php file.
  • Look for line 124.
  • Replace this code:
    $permalink_structure  = wc_get_permalink_structure();
    $category_base        = trailingslashit( $permalink_structure['category_rewrite_slug'] );
    $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $link, 'lang=' ) );
    
  • With:
    $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=' ) );
    

4 réponses à “Rank Math SEO - "Remove Parent Slugs" Option Causes Category Slug Translation Error (404)”

    • Hi there,
      Thanks for your feedback, and sorry for the inconvenience. Unfortunately, until either our team or the Rank Math SEO developers implement a permanent fix, you’ll need to reapply this workaround after each update.

        • Hi,

          We understand the frustration. Since the related code is part of RankMath SEO, any fix would likely require changes on their end or a hook our developers can use to handle it from our side.

Laisser une réponse

Veuillez rester sur le sujet et être respectueux envers les autres. Si vous avez besoin d'aide pour des problèmes non liés à ce message, utilisez notre Forum de Support pour démarrer une discussion ou soumettre un ticket.

Vous pouvez utiliser ces balises :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>