WPML
Estado
Abierto
Notificado para
WPML SEO 2.1.0.1
Plugin/tema relacionado
Rank Math SEO
Etiquetas de temática
Compatibility

Resumen del problema

Cuando la opción Remove parent slugs está activada en el plugin Rank Math SEO con WooCommerce, se produce un problema con la traducción de las categorías de producto. Si cambia a un idioma secundario desde una página de categoría de producto, apunta al slug de la categoría sin traducir, lo que genera una página de error 404.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


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

  • Busque la línea 124.

  • Reemplace 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 los problemas conocidos →