WPML
Status
Aberto
Relatado para
WPML SEO 2.1.0.1
Plugin/tema relacionado
Rank Math SEO
Tags de tópico
Compatibility

Visão geral do problema

Quando a opção Remove parent slugs está ativada no plugin Rank Math SEO com o WooCommerce, isso leva a um problema com a tradução das categorias de produtos. Se você mudar para um idioma secundário a partir de uma página de categoria de produto, ele aponta para o slug não traduzido da categoria, levando a uma página de erro 404.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/plugins/seo-by-rank-math/includes/modules/woocommerce/class-permalink-watcher.php.

  • Procure a linha 124.

  • Substitua este código:
    $permalink_structure  = wc_get_permalink_structure();
    $category_base        = trailingslashit( $permalink_structure['category_rewrite_slug'] );
    $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $link, 'lang=' ) );

  • Por:
    $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=' ) );

Todos os problemas conhecidos →